当您在 IE 中使用 .trigger("focus") 时,jQuery 不会“看到”稍后将发生的异步焦点事件,因此它会触发自己的一个以确保焦点事件始终如上文所述发生。这会导致对事件处理程序的两次调用。为了避免这种双重调用——但有可能根本不调用事件处理程序——直接使用 DOM 焦点方法,例如 $("selector").get(0).focus()。
这就是 jquery migrate 网站所说的。虽然我不清楚是否每个 trigger.focus 都需要替换为新的实现?如果是这样的话,一个简单的按钮的新代码是什么。触发焦点?
$('#btnMove').trigger('focus');