我有一個網頁,用戶應該能夠在任何地方輸入並跟蹤他們的輸入。一個問題是,Firefox中的斜線鍵「/,」是打開搜索的快捷方式。這對我來說是不可取的。我還沒有找到一種方法來捕獲搜索功能和仍將輸入添加到我的跟蹤中。我在keypress
上將輸入添加到堆棧。協調Firefox的斜槓處理和密鑰代碼
... preventDefault
效果最好在Firefox中,但問題是,在Chrome中,keypress
不火出於某種原因(不知道爲什麼會preventDefault
停止,但它確實)。如果我可以自己將斜槓添加到輸入堆棧,這將是好的。但Firefox已經添加它,因爲keypress
仍然被觸發。 stopPropagation
也不會阻止keypress
在FireFox中觸發。 $(document).keypress(e)
中的方法也什麼都不做。
我遇到的另一個問題是「退格」應該從堆棧中刪除,但我使用String.fromCharCode(e.which)
添加到堆棧並將數據添加到用戶可以看到的input type="text"
字段。在Chrome中,此功能完美無缺,但在FireFox中,它添加了代表退格的字符,然後立即將其刪除,從而防止刪除另一個字符。在輸入中具有「退格」和「f5」等字符也是不希望的。有沒有辦法判斷fromCharCode
的值是否對文本字段有效?我認爲,Chrome正在自動實現。
編輯:這可能會有所幫助,但FireFox顯然觸發keypress
之前(Chrome做相反)在我的網頁上。這是不尋常的。
我不知道斜線:我有一個
noslash
可變觸發捕捉斜線在FF中,謝謝! – cambraca@cambraca至少這個問題對某些事情有好處:P –
在keydown之前,Firefox觸發'keypress'並不是真的。請嘗試以下測試頁面,例如:http://unixpapa.com/js/testkey.html –