前台页面用的是aspx页面。
<asp:TextBox ID="Price" runat="server" Width="220px" MaxLength="90" onkeydown="return isDouble(event);" ></asp:TextBox>
js文件代码。
function isDouble(event) {
//如果是非IE浏览器,形参event不等于undefined,如果是IE浏览器,event等于undefined,需要通过window对象调用event。
if (event === undefined) event = window.event;
//对于IE浏览器,通过keyCode来获得触发事件的键值,非IE浏览器通过which。
if(event.keyCode){
//48-57代表“0-9”,46代表小数点“.”
if((event.keyCode > 47 && event.keyCode < 58) || event.keyCode === 46){
return event.keyCode;
}else{
//不输出内容到文本框
return false;
}
}else{
if((event.which > 47 && event.which < 58) || event.which === 46){
return event.which;
}else{
return false;
}
}
}
后记:对于IE浏览器,event是全局的,也就是说可以通过window来调用,而且是任何地点。
但对于非IE浏览器,event是在冒泡后被捕捉到的。它只有在事件正在进行中才有效,所以要通过参数的形式进行传递。