在结果的mouseenter上选择2个火灾事件

时间:2015-03-17 17:08:00

标签: jquery jquery-select2

我需要重置一个关闭包含mouseleave上的select2-container的父DIV的计时器。

这不会触发:

$('.select2-dropdown').on('mouseenter', function(e){
   console.log('in');
   clearInterval( $(this).data('timer') );
});

我在DOM上尝试了所有可能的选择器,但它没有触发。

谢谢!

1 个答案:

答案 0 :(得分:1)

您似乎没有正确设置此处理程序。

下拉列表仅在打开时由Select2生成,并在关闭后删除。所以你不能只设置一次处理程序而忘记它,除非你使用事件委托。

$('body').on('mouseenter', '.select2-results__option', function(e){
   console.log('in');
   clearInterval( $(this).data('timer') );
});

所以它实际上会在body上捕获事件,然后检查它是否来自结果中的选项。

另一个选项是保留当前的处理程序,但在select2:open(在选择时)而不是ready(在文档上)绑定它。此可能还需要在select2:close期间取消绑定。

相关问题