2014-11-21 74 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>