Jquery 的 keydown 的 SweetAlert2 行为
SweetAlert2 behavior with Jquery's keydown
我使用 sweet alert 来自定义消息。它工作正常,但现在我需要在用户在页面的特定上下文中按下 Enter 或 Tab 键时显示警报。
为了触发警报,我使用了 Jquery 的按键方法。我的问题是,当我通过 Enter 键触发警报时,它会打开,就像用户已经点击了确认按钮一样。
我知道 sweet alert 默认情况下与 Enter 键交互,但它不应该等待第二个 Enter 吗?第一个触发警报,然后第二个与警报交互?
就像现在一样,回车键触发警报并同时确认。是否可以更改某些内容以打开警报并使其像往常一样等待?
这是一个小 fiddle 我正在做的事情。要查看,请在 enter 和 tab 键之间切换。谢谢。
$(document).keydown(function (e) {
switch (e.which) {
case 13:
case 9:
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
Swal.fire(
'Deleted!',
'Your file has been deleted.',
'success'
)
}
})
break;
}
});
您可以通过 e.preventDefault()
解决这个问题
https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
我使用 sweet alert 来自定义消息。它工作正常,但现在我需要在用户在页面的特定上下文中按下 Enter 或 Tab 键时显示警报。
为了触发警报,我使用了 Jquery 的按键方法。我的问题是,当我通过 Enter 键触发警报时,它会打开,就像用户已经点击了确认按钮一样。
我知道 sweet alert 默认情况下与 Enter 键交互,但它不应该等待第二个 Enter 吗?第一个触发警报,然后第二个与警报交互?
就像现在一样,回车键触发警报并同时确认。是否可以更改某些内容以打开警报并使其像往常一样等待?
这是一个小 fiddle 我正在做的事情。要查看,请在 enter 和 tab 键之间切换。谢谢。
$(document).keydown(function (e) {
switch (e.which) {
case 13:
case 9:
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
Swal.fire(
'Deleted!',
'Your file has been deleted.',
'success'
)
}
})
break;
}
});
您可以通过 e.preventDefault()
https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault