从输入文本我需要调用一个函数来捕获 onkeydown 事件并且我需要将一个参数传递给该事件,例如:
<input type="text" onkeydown="TextOnKeyDown('myPrefix');" />...
然后在那个函数中我需要知道按下了什么键。我用
function TextOnKeyDown(prefix) {
var key = event.keyCode;
...
}
这在 IE 中很有效,但在 Firefox 中却不行。我读过,对于 Firefox,你必须将一个参数传递给处理程序,然后使用它来获取 key ,类似于:
<input type="text" onkeydown="detectKey(event)"/>
...
function detectKey(e){
var key = (document.all) ? e.keyCode : e.which;
...
}
但我无法为 firefox 传递我的参数和所需的事件参数。有什么建议吗?
最佳答案
我昨天写的,适用于 FF 和 IE =>
//execute this during initialization
document.onkeydown = function(event) {
var holder;
//IE uses this
if(window.event) {
holder = window.event.keyCode;
}
//FF uses this
else {
holder = event.which;
}
keyz(holder);
}
function keyz(key) {
if(key === /*desired code*/) {
/*execute stuff*/
}
}
您需要用 [您的输入].onkeydown 替换 document.onkeydown
关于javascript - Firefox onkeydown 检测按下的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642040/