Select2 取消/阻止默认 select2:在特定条件下选择 (v.4.0.x)

TiD*_*iDi 5 javascript events select jquery-select2

我需要向每个 select2 项目添加一个按钮并阻止默认事件,以便只有按钮被触发。

我有以下代码,但正常onSelect事件仍然被触发:

select.on('select2:select', test2);

function test2(e) {
    if (e.params.originalEvent.target.classList.contains('TreeButton')) {
        //stop event execution
        e.stopPropagation();
        e.preventDefault();
        return false;
    } else {
        //execute normal
    }
}
Run Code Online (Sandbox Code Playgroud)

bea*_*ver 9

尝试捕获select2:selecting事件:

select.on("select2:selecting", function (e) { 
    if (e.params.args.originalEvent.target.className === 'btn') {
      e.preventDefault();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个jsfiddle:http ://jsfiddle.net/beaver71/dtjhpnm7/