1

Internet Explorer 8,在event.whichFireFoxundefinedIE 9. 我正在使用Textbox“onkeypress”事件

标记

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

它在 FF、Chrome、Safari 和 Internet Explorer 中运行良好 - 9

任何想法?

4

3 回答 3

6
var charCode = evt.which || evt.keyCode;
于 2012-04-25T12:31:28.520 回答
2

文档清楚地表明,此属性仅在 IE 9 之后可用。

于 2012-04-25T12:11:10.843 回答
1

在 IE 之前的 9 中,偶数对象与其他对象不同,因此您需要专门处理这种情况,which 属性也是如此。

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

于 2012-04-25T12:11:05.683 回答