在mousedown上更改div图像并在mouseup上恢复

时间:2012-04-18 08:21:07

标签: javascript-events jquery mousedown mouseup

我正在尝试更改mousedown上的图像并恢复到mouseup上的初始图像。 图像在mousedown上发生变化,但它不会恢复到mouseup上的初始图像。 鼠标功能中的警报没有出现......出了什么问题?

$(#mydivid).bind('mousedown', function() {
        document.getElementById(mydivid).style.backgroundImage = "url(Images/new.png)";
        alert("mousedown");
    });



    $(#mydivid).bind('mouseup', function() {
        document.getElementById(mydivid).style.backgroundImage = "url(Images/initial.png)";
alert("mouseup");
    });

我观察到当我将多个事件绑定到同一个div时,第一个事件处理程序工作,其他事件被忽略...我如何确保处理所有事件?

1 个答案:

答案 0 :(得分:1)

你应该摆脱警报。这导致了这个问题。

我注意到的另一件事是'#mydivid'没有封装在引号中。

另外,如果你使用的是jquery 1.7+,那么建议使用'on'代替'bind'。

  

从jQuery 1.7开始,.on()方法是首选方法   将事件处理程序附加到文档。对于早期版本,   .bind()方法用于直接将事件处理程序附加到   元件。

来源:http://api.jquery.com/bind/

JQuery还有一个方法来更改元素的CSS属性。也许你也可以考虑改变背景。

http://api.jquery.com/css/


但是,就像我说的,删除警报,它应该工作得很好。见这个例子:

http://jsfiddle.net/fS9Ct/1/