簡體   English   中英

如何將輸入鍵轉換為選項卡鍵按網頁

[英]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>

我有一個類似的問題,我想在小鍵盤上按+鍵到下一個字段。 現在我已經發布了一個我認為可以幫助你的圖書館。

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中排除某些類型(在現有元素上) $('textarea, :button').plusAsTab(false);

您可以在PlusAsTab中自行嘗試輸入標簽演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM