Internet Explorer显示e.which为undefined

Internet Explorer 8event.which在FireFox和IE 9显示undefined且工作正常。 我正在使用Textbox ‘onkeypress’事件

标记

  

它在FF,Chrome,Safari和Internet Explorer – 9中运行良好

任何的想法?

 var charCode = evt.which || evt.keyCode; 

文档清楚地表明此属性仅从IE 9开始提供。

在IE之前的9中,偶数对象与其他对象不同,因此您需要专门处理该情况,同样适用于哪个属性。

 function MainCheckStrings(e) { if (!e) { e = window.event; // Get event details for IE e.which = e.keyCode; // assign which property (so rest of the code works using e.which) } }; 

这是一篇关于这个主题的好文章,应该清楚地解释所有内容http://www.quirksmode.org/js/keys.html