我的javascript代码无法在mozilla firefox中运行

Vib*_*ith 4 javascript asp.net

这是我的代码,仅用于创建文本框接受号码.

<asp:TextBox ID="txtRotationNo" runat="server" onkeydown="return NumberOnly();" CssClass="textbox"></asp:TextBox>

function NumberOnly () {
    if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
        event.returnValue=null;
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码适用于Chrome和Opera,但不适用于Firefox.

你能告诉我这段代码有什么问题吗?

Del*_*ani 8

代码有很多问题,包括缺少事件参数,以及取消事件的错误方法.在这里,只需用以下代码替换代码:

function NumberOnly(e) {
  e = e || window.event; // remove this if you don't need IE support
  if (!(e.keyCode >= 48 && e.keyCode <= 57) && e.keyCode != 8)
    e.preventDefault();  // standard method of cancelling event
  return false;          // IE method of cancelling event
}
Run Code Online (Sandbox Code Playgroud)

  • 你在`if`语句中使用了`event` - 它不应该只是`e`吗? (3认同)