如何为jquery-confirm弹窗绑定回车键实现关闭功能?
解决jquery-confirm弹窗回车键关闭问题
方案一:利用插件内置的keys配置(推荐)
jquery-confirm的keys支持直接映射键盘按键到弹窗按钮,默认$.alert会生成一个OK按钮,只需将回车键绑定到该按钮即可:
$.alert({ title: 'Error', content: errorMsg, useBootstrap: false, keys: { enter: 'ok' // 回车键触发OK按钮,自动关闭弹窗 } });
方案二:手动绑定键盘事件
如果内置配置不生效(比如版本兼容问题),可以在弹窗打开时手动监听回车键事件,触发关闭操作:
$.alert({ title: 'Error', content: errorMsg, useBootstrap: false, onOpen: function() { const popup = this; $(document).on('keydown', function(e) { if (e.key === 'Enter') { // 也可使用e.keyCode === 13 popup.close(); $(document).off('keydown'); // 解绑事件,避免干扰其他操作 } }); } });
你之前代码无效的原因
keys: ['enter']的写法错误,插件需要明确指定按键对应触发的按钮(比如ok),单纯数组形式无法关联关闭操作;action回调里的onclose不是有效调用,正确关闭弹窗需调用实例的close()方法。
内容的提问来源于stack exchange,提问作者tj26
相关产品推荐
相关产品推荐

