2014-06-09 80 views
1

我正在向網頁添加鍵盤快捷鍵,但不幸的是,我不斷遇到反覆出現的錯誤。理想情況下,鍵盤快捷鍵而不是在用戶鍵入文本類型input時被激活。早在IE6的日子,這是非常簡單的,但現在也有各種各樣的文本輸入等,如input[type=email]input[type=seach]input[type=url]等等檢測所有類似文本輸入的最佳方法

到現在爲止,我已經用不斷增加的列表的選擇器來匹配我所知道的所有文本輸入。這顯然不理想。它不僅損害了性能,也不是未來的證明。

有沒有更好的方法?

+0

我認爲使用':input' jQuery選擇器只有***更短的方式,但它不會選擇contenteditable設置爲true的元素。 –

+0

所有輸入都有一個可以過濾的「值」屬性。 – kennebec

回答

0

大多數輸入以某種方式對鍵盤做出響應(即使複選框可讓您使用空格鍵切換它們並選擇允許您通過鍵入來搜索它們的元素)。我會從鍵盤快捷鍵代碼中排除所有表單控件。

"input, textarea, select, button" 
+0

理想情況下,如果按鈕或輸入[type = submit]具有焦點,則應激活鍵盤快捷鍵。 – Xavi

+0

然後排除除JS以外的所有特定輸入。 – Quentin

+0

這是一個有趣的想法。基本上,交易誤報爲假陰性。雖然仍然擔心未來的打樣和可能的表現。 – Xavi

相關問題