繁体   English   中英

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

[英]My javascript code not working in mozilla firefox

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

<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;
    }
}

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

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

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

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
}

Firefox需要在处理程序的调用内执行事件,并且需要返回“false”以忽略操作。 此代码可能有效:

function NumberOnly(event) {
  if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
    event.returnValue=null;
    return false;
  }
}

但我认为你可以跳过event.returnValue = null;

与IE相反,'event'不是Firefox中的全局变量。 因此,您必须将所需的按键信息作为参数传递。

这里找到javascript验证函数列表,在开发过程中非常方便。

谢谢,

Ashish Chotalia

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM