编程语言
首页 > 编程语言> > javascript – 总是触发“更改”-event,即使已经选中了单击的select2选项

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