[英]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中的全局变量。 因此,您必须将所需的按键信息作为参数传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.