Javascript ReferenceError:mozila firefox中未定义事件

Javascript ReferenceError:mozila firefox中未定义事件,javascript,firefox,javascript-events,Javascript,Firefox,Javascript Events,这段代码在firefox(V21.0)中不适用,但在IE(V9,V10)和Chrome(V27.0.1453.110M)中适用 方法cal: <input type="text" id="txt1" class="search-bar-input" onkeyup="handleKeyPress('btn1');"> 错误消息: ReferenceError: event is not defined if (event.keyCo

这段代码在firefox(V21.0)中不适用,但在IE(V9,V10)和Chrome(V27.0.1453.110M)中适用

方法cal:

<input type="text" id="txt1" class="search-bar-input"
                         onkeyup="handleKeyPress('btn1');">
错误消息:

ReferenceError: event is not defined
if (event.keyCode === 13) {

有人知道如何解决这个问题吗?

您可以将
btn1
参数存储为
data-*
属性,并使用不引人注目的Javascript来分配事件处理程序(而不是内联)

还有您的行
警报(event.KeyCode)
错误,按键中的
K
应该是小写的
K

HTML

使用


演示:

@Arun\u C\C这是因为在IE中输入键力页面重新加载而不是onkeyup尝试onkeypress在Firefox 50.1.0中不工作
ReferenceError: event is not defined
if (event.keyCode === 13) {
<input type="text" id="txt1" class="search-bar-input" data-searchButtonId="btn1" />
function handleKeyPress(event) {
   if (event.keyCode === 13) {
        console.log(event.keyCode + this.getAttribute("data-searchButtonId"));
   }
}

window.onload = function(){
   document.getElementById("txt1").onkeyup = handleKeyPress;   
}
<input type="text" id="txt1" class="search-bar-input" onkeyup="handleKeyPress(event, 'btn1');">
function handleKeyPress(event) {
    event = event || window.event //For IE
    if (event.keyCode === 13) {
        alert(event.keyCode);
    }
}