我需要重置一个关闭包含mouseleave上的select2-container的父DIV的计时器。
这不会触发:
$('.select2-dropdown').on('mouseenter', function(e){
console.log('in');
clearInterval( $(this).data('timer') );
});
我在DOM上尝试了所有可能的选择器,但它没有触发。
谢谢!
答案 0 :(得分:1)
您似乎没有正确设置此处理程序。
下拉列表仅在打开时由Select2生成,并在关闭后删除。所以你不能只设置一次处理程序而忘记它,除非你使用事件委托。
$('body').on('mouseenter', '.select2-results__option', function(e){
console.log('in');
clearInterval( $(this).data('timer') );
});
所以它实际上会在body
上捕获事件,然后检查它是否来自结果中的选项。
另一个选项是保留当前的处理程序,但在select2:open
(在选择时)而不是ready
(在文档上)绑定它。此可能还需要在select2:close
期间取消绑定。