【问题标题】:Use Enter to tab to next div, not input? [duplicate]使用 Enter 跳转到下一个 div,而不是输入? [复制]
【发布时间】:2014-07-16 11:09:10
【问题描述】:

有一个我无法完全解决的时髦问题。我正在使用可内容编辑的 div 来接收来自客户的信息,Tabbing 工作正常,但如果我可以简单地按 Enter 以 tab 到下一个 div 并且我不知道如何实现这一点,它会更快。

我在这里创建了这个小提琴:http://jsfiddle.net/zkDfm/

 <div class="card shadow rounded">
<div class="card-content one-third">
    <div class="list-title">Owner Details</div>
    <ul class="detail-list">
        <li class="button rounded"><a class="list-heading">Mr:</a> <a class="list-result-edit" contenteditable="true"></a></li>
        <li class="button rounded"><a class="list-heading">Mrs:</a> <a class="list-result-edit" contenteditable="true"></a></li>
        <li class="button rounded"><a class="list-heading">Email:</a> <a class="list-result-edit" contenteditable="true"></a></li>
        <li class="button rounded"><a class="list-heading">Mobile No:</a> <a class="list-result-edit" contenteditable="true"></a></li>
        <li class="button rounded"><a class="list-heading">Phone No:</a> <a class="list-result-edit" contenteditable="true"></a></li>
        <li class="button rounded"><a class="list-heading">Address:</a> <a class="list-result-edit" contenteditable="true"></a></li>
    </ul>
</div>

【问题讨论】:

  • 如果内容是可编辑的,回车键已经被一个叫做newline(有线的东西,经常用于书籍和行尾)的时髦东西使用。

标签: javascript jquery html css


【解决方案1】:

你可以看这里:

DEMO

所以,您输入 keyevent 会喜欢:

$(".list-result-edit").keypress(function(e) {
    if(e.which == 13) {
        e.preventDefault();
        $(e.target).parent().next().children().focus();
    }
});

编辑

如果你有多个块,就像你提到的那样,这需要更多的工作。

$(".list-result-edit").keypress(function(e) {
    if(e.which == 13) {
        e.preventDefault();
        if($(e.target).parent().is(":last-child")) {
            $(e.target).parents(".card-content").next().find(".list-result-edit:first").focus();
        }
        else {
            $(e.target).parent().next().children().focus();
        }
    }
});

DEMO

【讨论】:

  • @Downvoter 我误解了这个问题吗?
  • 粉碎它的伙伴,正是我想要实现的目标
  • @j809 好吧,解决某人的反对票很容易:)
  • 有没有简单的方法来检查 $(e.target).parent().next().children().focus();有没有结果?所以我可以以某种方式跳到另一组这些
  • 标签?
  • result 是什么意思?我听不懂你……可以说清楚一点吗?
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签