回答
首先,這可能不是一個好主意可用性方面。然而,這裏的東西應該工作:
$(":input").on("keydown", function(event) {
if (event.which === 13 && !$(this).is("textarea, :button, :submit")) {
event.stopPropagation();
event.preventDefault();
$(this)
.nextAll(":input:not(:disabled, [readonly='readonly'])")
.first()
.focus();
}
});
是找到下一個輸入可能必須改變,這取決於你的標記的部分。
我遇到了類似的問題,我想按數字鍵+來選擇下一個字段。現在我已經發布了一個我認爲會幫助你的圖書館。
PlusAsTab:一個jQuery插件,將numpad plus鍵用作tab鍵等價物。
既然你想進入/↵相反,你可以設置的選項。找出您想要與jQuery event.which demo一起使用的密鑰。
JoelPurra.PlusAsTab.setOptions({
// Use enter instead of plus
// Number 13 found through demo at
// https://api.jquery.com/event.which/
key: 13
});
樣本HTML
<!-- Enable enter as tab as the default for all fields in this form -->
<form data-plus-as-tab="true">
<input type="text" value="Enter skips to the next field" autofocus="autofocus" />
<!-- Exclude this textarea -->
<textarea data-plus-as-tab="false">Enter works as usual</textarea>
<input type="text" value="Enter skips to the next field" />
<select><option>Enter skips here too</option></select>
<!-- Exclude this submit button -->
<button type="submit" data-plus-as-tab="false">Enter works as usual</button>
</form>
正如你所看到的,很容易使容器中的所有元素與data-plus-as-tab="true"
,並且很容易排除的具體內容與data-plus-as-tab="false"
。您還可以使用$('textarea, :button').plusAsTab(false);
從javascript中排除某些類型(在現有元素上)。
您可以在PlusAsTab enter as tab demo中自己嘗試一下。
此解決方案適用於我。在IE和FireFox上測試過。
<script type="text/javascript">
function tabE(obj, e) {
var e = (typeof event != 'undefined') ? window.event : e; // IE : Moz
if (e.keyCode == 13) {
var ele = document.forms[0].elements;
for (var i = 0; i < ele.length; i++) {
var q = (i == ele.length - 1) ? 0 : i + 1; // if last element : if any other
if (obj == ele[i]) {
ele[q].focus();
break
}
}
return false;
}
}
</script>
<form METHOD="POST">
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<INPUT TYPE="submit" Value="Ok">
</form>
我發現它here。
歡迎來到[stackoverflow.com](http://stackoverflow.com),感謝您的幫助。請記住描述你的答案。 – hofmeister 2015-01-17 10:23:51
如何檢查表單元素在這種情況下顯示? 我有許多輸入(文本框,單選按鈕,),但顯示的一些元素,有些元素不顯示
<script type="text/javascript">
function tabE(obj, e) {
var e = (typeof event != 'undefined') ? window.event : e; // IE : Moz
if (e.keyCode == 13) {
var ele = document.forms[0].elements;
for (var i = 0; i < ele.length; i++) {
var q = (i == ele.length - 1) ? 0 : i + 1; // if last element : if any other
if (obj == ele[i]) {
ele[q].focus();
break
}
}
return false;
}
}
</script>
<form METHOD="POST">
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<input name="" type="text" onkeypress="return tabE(this,event)">
<br>
<INPUT TYPE="submit" Value="Ok">
</form>
歡迎來到StackOverflow。如果你有問題,請提出一個新問題 – slfan 2015-03-16 13:04:09
- 1. 按回車鍵
- 2. 如何按一個按鈕回車鍵
- 3. 按下回車鍵
- 4. 按回車鍵登錄
- 5. 按回車鍵退出(Java)
- 6. 點擊「回車」按鍵
- 7. 限制回車按鍵
- 8. 如何發表評論按回車鍵
- 9. 如何聆聽Java中按下/鍵入的TAB鍵?
- 10. 按下一個按鈕與回車鍵
- 11. 按下回車鍵(返回鍵)提交按鈕
- 12. 變換「選項卡鍵」按下回車鍵的角度指令
- 13. 停車回車鍵單擊按鈕
- 14. 按回車鍵觸發的按鍵事件...爲什麼?
- 15. 按下回車鍵時的等效按鍵java
- 16. 在EditText中輸入數據,然後按下回車鍵回車
- 17. 如何檢測JComboBox中的TAB按鍵?
- 18. 如何檢測Safari中的「tab」按鍵
- 19. 如何在按下回車鍵或回車鍵時阻止表單提交?
- 20. 如何使用「空格鍵或回車鍵」等鍵盤按鍵停止按下按鈕。 C#
- 21. MVVM的DataTemplate上按Tab鍵
- 22. 如何在按回車鍵時快速隱藏鍵盤?
- 23. 按下任意鍵而不按下回車鍵退出「do while」?
- 24. 當我按下回車鍵時如何觸發網站的按鈕?
- 25. 如何將按下的按鍵轉換爲不同的按鍵pygtk
- 26. 如何按TAB鍵時觸發事件?
- 27. 如何在JTextField中按回車字符而不是按鍵
- 28. 如何在html上按下回車鍵觸發按鈕
- 29. JTable - 按Tab鍵進入編輯模式
- 30. C++中的break語句按回車鍵
的可能重複回車按鍵的行爲類似於JavaScript中的Tab]鍵(HTTP://計算器.com/questions/1009808/enter-key-press-behaves-like-a-tab-in-javascript) – 2011-12-29 05:40:58
這個問題很好的合併候選人是特別要求jQuery解決方案。 – xan 2011-12-29 11:59:12
安德魯惠特克的答案真的很好,並不建立在類似或相關的其他問題。 – 2013-09-02 16:46:06