我正在尝试更改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时,第一个事件处理程序工作,其他事件被忽略...我如何确保处理所有事件?
答案 0 :(得分:1)
你应该摆脱警报。这导致了这个问题。
我注意到的另一件事是'#mydivid'没有封装在引号中。
另外,如果你使用的是jquery 1.7+,那么建议使用'on'代替'bind'。
从jQuery 1.7开始,.on()方法是首选方法 将事件处理程序附加到文档。对于早期版本, .bind()方法用于直接将事件处理程序附加到 元件。
来源:http://api.jquery.com/bind/
JQuery还有一个方法来更改元素的CSS属性。也许你也可以考虑改变背景。
但是,就像我说的,删除警报,它应该工作得很好。见这个例子: