我正在使用SweetAlert,并且具有以下示例的自定义按钮:

swal("A wild Pikachu appeared! What do you want to do?", {
  buttons: {
    cancel: "Run away!",
    catch: {
      text: "Throw Pokéball!",
      value: "catch",
    },
    defeat: true,
  },
  onOpen: function() { console.log("Test") } // this doesn't work
})
.then((value) => { ... });

但是,在初始打开时,它会聚焦到最后一个按钮。有没有一种方法可以完全取消此自动聚焦,以便在初始打开时不聚焦于任何按钮?

最佳答案

正如评论中已经建议的那样,SweetAlert2是更灵活的解决方案,我建议使用它。

使用onOpen参数和getConfirmButton()方法,您可以实现所需的行为:

Swal.fire({
  input: 'text',
  inputPlaceholder: 'I will not be autofocuses',
  onOpen: () => Swal.getConfirmButton().focus()
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script> 

07-26 07:38