jQuery javascript按键function无法在IE8上运行
我有以下jquery函数,避免在输入文本中键入“1”:
$("#myId").keypress(function(e) { var x=e.charCode; if (x == '49'){ e.preventDefault(); } });
这是jsfiddle
这不适用于IE8。 我的错误在哪里? 提前致谢!
编辑JAVASCRIPT版本
function checkNumber(event) { var x=e.which; if (x == 49){ event.preventDefault(); } }
charCode
不是跨浏览器,你可以使用jQuery属性:
event.which
属性规范化event.keyCode
和event.which
。 建议观看event.which
键盘输入键。
var x = e.which;
如果你不使用jQuery,你可以编码:
var x = e.charCode || e.keyCode;
请改用e.which
,因为并非所有浏览器都支持e.charCode
。
此外,您可以考虑使用.keyup()
事件而不是.keypress()
看到类似问题的答案 。 尝试使用keydown
而不是keypress
和keyCode
而不是charCode
:
$("#myId").keydown(function(e) { var x=e.keyCode; if (x == '49'){ e.preventDefault(); } });
按键的jQuery文档列出了使用keydown
的一些很好的理由,其中最重要的是它只会触发一次按住,而keypress会报告字符,而不是键(这在处理类似事情时会出现问题)大写锁定。)
- jQuery ajaxSetup beforeSend没有在IE8中执行
- IE 8及以下版本不触发点击有display:none的元素; 任何解决方法?
- JQuery – $ .ajax() – 使用JSONP的跨源 – 仅在IE 8中获取’parsererror’(在IE 7中工作)
- 当我在IE8中使用JQuery的form.Submit()时,为什么会出现exception?
- jQuery.getJSON在IE8中使用gdata json-c无法正常工作。 为什么?
- Cors,Web Api,IE8,Post Complex Data
- 如果靠近窗口边缘,则重新定位下拉菜单
- 在IE8中获得div的最后一个孩子?
- IE <9显示“未找到成员”