2
當焦點位於JQuery對話框中的按鈕上時,空格鍵會執行兩件事:它選擇按鈕並滾動窗口。熟悉空格鍵作爲選擇按鈕的工具的人會期待第一個按鈕,但會發現第二個按鈕不合適。當JQuery按鈕被聚焦並按下空格鍵時,如何防止頁面滾動
所以問題:我如何防止頁面滾動?我原以爲這只是從按鈕處理程序返回false的問題,但看起來並不正確。
當焦點位於JQuery對話框中的按鈕上時,空格鍵會執行兩件事:它選擇按鈕並滾動窗口。熟悉空格鍵作爲選擇按鈕的工具的人會期待第一個按鈕,但會發現第二個按鈕不合適。當JQuery按鈕被聚焦並按下空格鍵時,如何防止頁面滾動
所以問題:我如何防止頁面滾動?我原以爲這只是從按鈕處理程序返回false的問題,但看起來並不正確。
我試過這裏和其他地方建議的解決方案,他們都沒有爲我工作。什麼終於工作是這樣的文檔範圍keydown處理程序:
$(document).keydown(function (e) {
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if ((key == 32) && (e.target.className != null) && (e.target.className.indexOf("ui-button") != -1))
e.preventDefault();
});
鍵== 32顯然是檢查空格鍵。 className是檢查所討論的UI(用戶界面)元素是否是JQuery按鈕。沒有按鈕檢查,空格鍵在任何地方都是禁用的。
太棒了:)所以你可以標記問題解決?順便說一句,你可以用這種方式重寫var聲明'var key = e.charCode || e.keyCode || 0;' – pomeh 2012-04-23 15:04:18
感謝您的提醒和代碼建議@pomeh! – 2012-04-26 17:41:55