1

「KeyPress」イベントがナビゲーション キーを押しても呼び出されない場合の IE では、FF では「KeyPress」イベントが発生します。これを停止する方法。次のようにKeyPressイベントでGxt 'TextField'を使用しています

firstNameField.addListener(Events.KeyPress, getKeyPressListener());

private Listener<FieldEvent> getKeyPressListener(){
    return new Listener<FieldEvent>() {
        public void handleEvent(FieldEvent be) {
             char key = getChar(be.getEvent());
             if (!((key+"").matches("^[A-Za-z \\'\\-\\&]+$"))) {
                 be.stopEvent();
             }
        }
        // needed due to GWT 2.1 changes
        private native char getChar(NativeEvent e) /*-{
            return e.which || e.charCode || e.keyCode || 0;
        }-*/;
    };
}

ユーザーが「A-Za-z」、「-」、「&」のみを入力できる正規表現を設定しましたが、これらの値以外はユーザーが入力できなくなります。

このコードは、IE では正常に動作します。ナビゲーション キーを押しても「KeyPress」イベントは発生しませんが、FF に関しては、キーを押すたびに「KeyPress」イベントが発生します。したがって、「FF」を「IE」と同様に機能させるには

4

0 に答える 0