javascript – 如何在firefox中重写Ctrl N以启动AJAX
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何在firefox中重写Ctrl N以启动AJAX,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1655字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何在firefox中重写Ctrl N以启动AJAX](/upload/InfoBanner/zyjiaocheng/800/f1495bb9f0ae45ea91f211cf997f9768.jpg)
注意:Juan Mendes的回答是选择的答案,因为它对我的情况有最有用的回答.虽然AxGryndr也有一些有用的信息.阅读这两个答案,它们都适用于不同的情况.谢谢你们两位帮忙.
我已经问了一个关于这个here的类似问题,它确实解决了我问题的第一部分,现在又有了另一个问题.我希望Ctrl N启动包含AJAX的脚本,但是一旦我运行.get函数,它就会导致默认启动.有谁知道这方面的工作.
这个小提琴有一些代码可以显示我的问题.这是一些代码.
function checkkey(e)
{
if(e.ctrlKey && e.keyCode == 'N'.charCodeAt(0) && !e.shiftKey && !e.altKey)
{
try{e.preventDefault();}catch(ex){}
var m_objXMLHttpReqObj = new XMLHttpRequest();
m_objXMLHttpReqObj.open("GET", "", false);
m_objXMLHttpReqObj.send();
}
}
解决方法:
您的代码没有阻止默认行为
function checkkey(e) {
if(e.ctrlKey && e.keyCode == 'N'.charCodeAt(0) && !e.shiftKey && !e.altKey) {
e.preventDefault();
// Now send your AJAX
似乎AJAX正在干扰停止默认行为的能力.您试图发送同步AJAX请求(不要这样做,它将停止浏览器)并且您没有给它一个URL去(触发错误).一旦您更改设置以正确地为其提供URL并使其异步,那么它在FF中可以正常工作.
这是工作代码
function checkkey(e) {
if(e.ctrlKey && e.keyCode == 'N'.charCodeAt(0) && !e.shiftKey && !e.altKey){
e.preventDefault();
var m_objXMLHttpReqObj = new XMLHttpRequest();
m_objXMLHttpReqObj.open("GET",
// URL to go to
"/echo/html/",
// Asynchronous
true);
m_objXMLHttpReqObj.send("");
}
}
但是,在Chrome中(对你来说可能没有用,但对其他读过这个答案的人来说),if you add a console.log at the top of your handler,你会发现处理程序永远不会得到.因此,Chrome甚至不会让您看到CTRL N组合,也无法对此做任何事情.就像Windows应用程序没有得到CTRL ALT DEL的通知一样
如果应用程序必须适用于多个浏览器,我的建议是使用不同的组合,如ALT SHIFT N,你真的不想接管基本的浏览器快捷方式.
内容总结
以上是互联网集市为您收集整理的javascript – 如何在firefox中重写Ctrl N以启动AJAX全部内容,希望文章能够帮你解决javascript – 如何在firefox中重写Ctrl N以启动AJAX所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。