问题是,我正在使用报警对话框上的Select2组合框,现在每当我尝试使用键盘通过按Enter键选择select2选项时,对话框关闭,因为Enter键是绑定到Ok按钮,ESC键是绑定到取消按钮,我想覆盖keyupHandler处理函数,而不更改源js。
来源:https://github.com/MohammadYounes/AlertifyJS/blob/master/build/alertify.js +1269
Alert.js代码:
import alertify from 'alertify';
// How can I override the default keyupHandler function after importing it in my code?我想要添加验证,如果event.target是Select2并且它是打开的,那么就不要触发关闭对话框的事件。
发布于 2019-07-21 17:30:12
您可以组合两个库中的事件来实现此目的,首先侦听select2的打开和关闭事件,然后使用它们来允许或拒绝关闭对话框。
var isClosed = false
// wire select2 events
$('select').select2().on('select2:open', function(e){
isClosed = false
}).on('select2:close', function(e){
setTimeout(function(){
isClosed = true
},200)
});
// wire alertifyjs events
alertify.confirm().set('onok', function(){
return isClosed
})https://stackoverflow.com/questions/57111906
复制相似问题