2010-02-09 91 views
0

任何想法,为什么这不起作用,或者如何使它工作吗?我想删除“onmouseover”和“onmouseout”事件,以便基本禁用它们,同时更改背景颜色。然后,当用户点击另一个元素时,我想将鼠标事件重新分配给元素。眼下onmouse事件没有得到禁用所有,背景不改变,等等jQuery的帮助,鼠标事件,事件未解除绑定

这是我如何调用该函数:

这里的功能: $(文件)。就绪(函数(){

$(".maximize").toggle(

    function(){ 

    $("#property_bg").unbind("onmouseover"); 
    $("#property_bg").unbind("onmouseout"); 
    $("#property_bg").toggleClass("body_bgcolor"); 
    }, 

     function() { 

     $("#property_bg").bind("onmouseover", function() {   
           swap_class("property_bg","body_bgcolor")});  

    }); 

});

感谢您的帮助。

回答

0

我发现下面的两个线程的人谁类似的问题我会走来真正的问题在这里添加它们:

How do I unbind "hover" in jQuery?

Why this unbind doesn't work?

问题是由不硬编码在HTML中的鼠标事件,而是在第一次的document.ready结合他们解决。为了“解绑”和事件,事件必须由jquery“绑定”。

此外,“鼠标悬停”没有出于某种原因我无法弄清楚工作,但是当我把“的mouseenter”和“鼠标离开”作为职位之一以上建议它的工作。我从来没有听说过“mouseenter”或“mouseleave”,但是......它现在起作用了。

祝你好运!

+0

这是有道理的,现在我想到了。 – icktoofay 2010-02-10 05:11:58

2

去掉“的”从事件名称。然后它会工作。

+0

感谢您的回复。我删除了“开”,但仍然无法正常工作。我应该包括这是一个动态创建的页面和代码是$(文件)。就绪(函数(),鼠标事件在脚本中硬编码后,我包括在HTML字符串后作出jQuery脚本。我不知道这是否有所作为,还有一些其他的功能在这些工作正常之后被调用,所以我至少知道切换的东西是部分工作的。我是否需要包含类似.live()的东西来做到这一点工作? – Ronedog 2010-02-09 05:35:28

+0

我不知道你的具体情况,但.live()结合东西的情况下,如果有任何更多的元素,在未来的选择匹配,它会开始绑定到这些了。不管怎样,我想你代码与我的建议,(和只是一个swap_class做什么的猜测),它似乎是做工精细,但无可否认正如我以前说过,我真的不知道你要在这里完成的任务。 – icktoofay 2010-02-09 06:55:01

+0

感谢。简单地交换改变了课程名称,我想出了真正的问题是...... m缺乏绑定的一些核心功能的知识。看到我的答案。再次感谢您愿意提供帮助。 – Ronedog 2010-02-09 16:27:12

0

在您的活动,拿出了“关于” ......只是鼠标悬停或鼠标移开......