[英]How to Convert An Enter Key Press Into A Tab Key Press For Web Pages
按下回車鍵應該按Tab鍵按下。按下按鍵,TextArea和提交按鈕應該正常工作。當下一個字段被禁用/只讀時,焦點應該從下一個元素跳過。
謝謝,
首先,這可能不是一個好主意。 但是,這里應該有用:
$(":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();
}
});
示例: http : //jsfiddle.net/NDcrk/
找到下一個輸入的部分可能必須更改,具體取決於您的標記。
這個解決方案適合我。 在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>
在這種情況下如何顯示表單元素? 我有很多輸入(文本框,單選按鈕),但顯示一些元素,一些元素不顯示
<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>
我有一個類似的問題,我想在小鍵盤上按+鍵到下一個字段。 現在我已經發布了一個我認為可以幫助你的圖書館。
由於您想要輸入 / ↵ ,您可以設置選項。 找出你想要使用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中排除某些類型(在現有元素上) $('textarea, :button').plusAsTab(false);
。
您可以在PlusAsTab中自行嘗試輸入標簽演示 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.