jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无法使用jQuery热键覆盖Firefox中的ctrl大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery Hotkeys插件http://code.google.com/p/js-hotkeys/

这是我正在使用的代码

$(document).bind('keydown','Ctrl+s',function(event) { alert('saving?'); return false; });

在Chrome中,它工作正常,Ctrl的功能被覆盖,但在Firefox中,它会触发警报,并且还会尝试保存html@L_607_5@.

我知道必须要有它才能使它工作,F​​irefox中的wordpress让你按ctrl s保存.

有任何想法吗?

解决方法

看起来像Firefox中的一个错误,其中警报会破坏代码的同步性.延迟警报似乎解决了这个问题:

$(document).bind('keydown',function(event) {
  setTimeout(function() {
    alert('saving?');
  },0);
  return false;
});

JSbin

这是一个测试用例来证明我的bug声明.

$(document).bind('keydown',function(event) {
  event.preventDefault();
});

以上(bin)将很好地阻止保存对话框.现在,如果您在它之前或之后添加警报,那么如果您执行event.preventDefault()和event.stopImmediatePropagation()或返回false,则会出现保存对话框:

$(document).bind('keydown',function(event) {
  event.preventDefault();
  event.stopImmediatePropagation();
  alert('saving?');
  return false;
});

Bin

如果没有警报,event.preventDefault()本身足以阻止保存对话框,现在有警报可以阻止认操作.

大佬总结

以上是大佬教程为你收集整理的无法使用jQuery热键覆盖Firefox中的ctrl全部内容,希望文章能够帮你解决无法使用jQuery热键覆盖Firefox中的ctrl所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。