0

我正在尝试更改图像mousedown并恢复到初始图像mouseup。图像正在改变,mousedown但它不会恢复到 上的初始图像mouseup。函数中的警报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 时,第一个事件处理程序有效,而其他事件处理程序被忽略...如何确保处理所有事件?

4

1 回答 1

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/

于 2012-04-18T08:41:14.990 回答