问题是由于滚动事件没有在 DOM 中冒泡
方法一
使用mousewheel
事件代替滚动
方法二(推荐)
使用 addEventListener
$("#d").select2();
// using on mousedown
$("body").on("mousewheel", "#select2-d-results", function(){
console.log('mousewheel');
})
// using addEventListener
document.addEventListener('scroll', function (event) {
if (event.target.id === 'select2-d-results') {
console.log('scrolling');
}
}, true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://rawgit.com/select2/select2/master/dist/js/select2.js"></script>
<link href="https://rawgit.com/select2/select2/master/dist/css/select2.min.css" rel="stylesheet" />
<select id="d" style="width: 300px">
<option value="1">Argentina</option>
<option value="2">Brazil</option>
<option value="3">China</option>
<option value="4">India</option>
<option value="5">Indonesia</option>
<option value="1">Argentina</option>
<option value="2">Brazil</option>
<option value="3">China</option>
<option value="4">India</option>
<option value="5">Indonesia</option>
</select>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句