Internet Explorer showing e.which as undefined

2019-06-07 06:15发布

In Internet Explorer 8, event.which is showing undefined and working fine in FireFox and IE 9. I am using the Textbox 'onkeypress' Event

MarkUp

<asp:TextBox runat="server" ID="tb1" MaxLength="3"
                        onkeypress="return MainCheckStrings(event);" />

It is working fine in FF, Chrome, Safari and Internet Explorer - 9

Any Idea?

3条回答
我想做一个坏孩纸
2楼-- · 2019-06-07 06:26

The documentation clearly shows that this property is available only from IE 9 onwards.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-06-07 06:36

In IE prior 9 the even object is not the same as others so you need to handle that case specifically and same goes for the which property.

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

Here is a good article on the subject that should explains everything clearly http://www.quirksmode.org/js/keys.html

查看更多
Lonely孤独者°
4楼-- · 2019-06-07 06:43
var charCode = evt.which || evt.keyCode;
查看更多
登录 后发表回答