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

Working Demo