选择 select2 的 allowClear 选项时如何捕获事件?

How to capture event when allowClear option of select2 is chosen?

我已尝试捕获 select2:clearing 事件

$("#my-select").on("select2:clearing", function (e) {
    console.log('cleared');
});

(jsfiddle)

但它没有被解雇。我也试过其他版本(如select2:removed等,见another question有类似问题),但还是不行。

我用的是select2 4.0.0-beta2.

select2 4.0.0-beta2 的变更日志指出:

Removed events

select2-clearing - Use select2:unselecting instead

https://github.com/select2/select2/releases

$("#my-select").on("select2:select select2:unselecting", function(e) {
   //do something here
 });

这个有效:

$("#my-select").on("select2:unselecting", function(e) {

 });

According to the select2 event documentations, all of the unselect, unselecting, clear and clearing events will works !

但考虑到usnselectunselecting事件应该被单选模式使用, 清除清除应该被多选模式使用。因此,如果所有选定项目都已清除或清除,则会触发清除或清除。

取消选择和取消选择之间的区别在于,取消选择会在删除选择之前触发,因此您可以阻止它。

希望对您有所帮助。