簡體   English   中英

GWT:“后退按鈕”按瀏覽器和我的GWT代碼兩次工作

[英]GWT: Back Button working twice, both by browser and my GWT code

場景:

在我的GWT KeyDownHandler應用程序中,我使用KeyDownHandler捕獲用戶KeyDownHandler退格鍵的事件。 說,我在小部件“ B”上使用它,而當小部件“ B”聚焦時擊中后背,應該把我帶到小部件“ A”。

問題:

按下退格鍵后,我將被帶到窗口小部件“ A”,但只有片刻,然后瀏覽器才將我帶回到上一頁! 我希望退格事件僅由我的(GWT)代碼使用,而不由瀏覽器使用。

final TextBox txtA = new TextBox();
    TextBox txtB = new TextBox();

    VerticalPanel testPanel = new VerticalPanel();
    testPanel.add(txtA);
    testPanel.add(txtB);

    txtB.addKeyDownHandler(new KeyDownHandler() {

        public void onKeyDown(KeyDownEvent event) {
            if(event.getNativeKeyCode() == KeyCodes.KEY_BACKSPACE){
                Scheduler.get().scheduleDeferred(new ScheduledCommand() {

                    public void execute() {
                        txtA.setFocus(true);
                    }
                });
            }
        }
    });

    RootPanel.get().add(testPanel);

這樣的帖子可能對您有用。 但是,最好還是使用shift + tab以基於Web的形式IMHO向后導航。

您可能必須防止發生默認操作 您可能需要對某些或所有按鍵事件(例如Firefox中的keydown,keypress和keyup)執行此操作; 請確保測試盡可能多的瀏覽器!

話雖這么說,劫持全局鍵盤快捷鍵被我許多用戶視為過於侵入。 可能會影響您應用的可訪問性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM