2010-02-09 73 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

在您的活動,拿出了「關於」 ......只是鼠標懸停或鼠標移開......