当鼠标在跨度内时,Mouseleave会触发

时间:2013-11-12 13:20:14

标签: jquery jquery-plugins

我正在制作这个插件

HTML

<span class="item" data-item="first">
</span>
  <br><br>
<span class="item" data-item="second">
</span>
<br><br>
<span class="item" data-item="third">

Jquery的

(function($){
  $.fn.myPlugin = function(){
     $(this).on('mouseleave', function(){  
          var item = $(this).attr('data-item');
          alert(item);           
      });    

    return this.each(function() {    
      for (var i = 1; i <= 2; i++) {
        $(this).append('<span class="act" title="active '+i+'">act'+i+'</span>');
      }   
    });
  };
})(jQuery);



$(document).ready(function() {
  $('.item').myPlugin();
});

问题是当我在两个动态创建的元素之间悬停时,即使我在项目类中,也会发生鼠标激活。 演示http://jsbin.com/IWutoQa/9/

尝试在act1&amp; act2

之间移动鼠标

1 个答案:

答案 0 :(得分:3)

这是因为margin-left: 10px!使用padding-left: 10px代替,它将正常工作。

示例:jsfiddle