1

我正在制作这个插件

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();
});

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

尝试在 act1&act2 之间移动鼠标

4

1 回答 1

3

这是因为margin-left: 10px!改为使用padding-left: 10px它会正常工作。

示例:jsfiddle

于 2013-11-12T13:30:09.513 回答