1

Internet Explorer 8、 FireFoxとで正常にevent.which表示undefinedおよび動作していIE 9ます。Textbox'onkeypress'イベントを使用しています

マークアップ

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

FF、Chrome、Safari、InternetExplorerで正常に動作しています-9

何か案が?

4

3 に答える 3

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

ドキュメントには、このプロパティがIE9以降でのみ使用可能であることが明確に示されています。

于 2012-04-25T12:11:10.843 に答える
1

IE以前の9では、evenオブジェクトは他のオブジェクトと同じではないため、そのケースを具体的に処理する必要があり、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 に答える