2014-11-21 73 views
-1

懸停時我想調用一個函數。如果該元素具有「disabled_btn」類,則它將被抑制。爲什麼模式代碼不工作? jsfiddlejQuery - 使用擴展選擇器懸停不起作用

HTML

<button id="btn" > hover here</button> 

JS

$('#btn:not(.disabled-btn)').on('hover', function(){ 
       alert('click'); 
      }); 
+0

一點了說明:http://stackoverflow.com/questions/ 9827095/is-it-it-use-jQuery-on-and-hover – vidriduch 2014-11-21 15:08:15

+0

$(「#btn:not(.disabled-btn)」).hover(function(){ alert('click'); }); – HaveNoDisplayName 2014-11-21 15:09:22

回答

3

嘗試mouseover而不是hover

$('#btn:not(.disabled-btn)').on(' mouseover', function() { 
    alert('click'); 
}); 

演示:http://jsfiddle.net/qa7co8y4/2/

+2

再次閱讀問題後,我認爲這對vuvus需求更好。 'hover()'會在'mouseleave'上再次觸發事件,這不是他想要的。被他已經試過的東西弄糊塗了。我認爲這是正確的答案。 – balzafin 2014-11-21 15:18:54

1

有沒有像在JS,你需要使用mouseentermouseover代替hover

$('#btn:not(.disabled-btn)').on(' mouseenter', function() { 
    alert('click'); 
}); 

$('#btn:not(.disabled-btn)').on(' mouseover', function() { 
    alert('click'); 
}); 
1

伊夫更新您的代碼,你看到Updated Code

$('#btn:not(.disabled-btn)').hover(function(){ 
 
        alert('click'); 
 
       });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btn" class=""> hover here</button>