javascript – 总是触发“更改”-event,即使已经选中了单击的select2选项
作者:互联网
我有一个原生的< select> -element,我正在初始化一个select2-downdown菜单.
我通过select2绑定了一个change-event,只要select2 / select-option被改变就会被调用.但是,即使再次选择当前选择的选项,我也需要触发事件.
function onSelectChange(){
alert('changed');
};
$("#select").select2().bind('change', onSelectChange);
我准备了一个http://jsfiddle.net/rb6pH/1/ – 如果当前选择了“Alaska”,然后通过select2-dropdown再次选择,onSelectChange()将再次触发,触发警报.
我很难表达自己,请问一些事情是否不够明确.
解决方法:
一个类似的问题被问到here.我根据链接中的代码为你的问题做了一个小提琴.
http://jsfiddle.net/rb6pH/55/
function onSelectChange(){
alert('changed');
};
var select2 = $("#select").select2().data('select2');
select2.onSelect = (function(fn) {
return function(data, options) {
var target;
if (options != null) {
target = $(options.target);
}
if (target) {
onSelectChange();
return fn.apply(this, arguments);
}
}
})(select2.onSelect);
标签:javascript,jquery,jquery-select2 来源: https://codeday.me/bug/20191002/1843966.html