【问题标题】:jQuery on "enter key" create content editabledom element and select itjQuery 上的“输入键”创建内容可编辑域元素并选择它
【发布时间】:2014-06-05 18:51:28
【问题描述】:
$(document).ready(function(){
    $( "p[contenteditable]" ).on( "keypress", function(e) {
        var code = e.keyCode;
        if(code == 13) { //Enter key
            $(this).after('<p class="new" [contenteditable]>hi</p>');
            $('p.new').css("color","red").focus();
            e.preventDefault();
        }
    });
});

看到这个小提琴:http://jsfiddle.net/tehtrav/T2U9M/

我正在尝试创建一个新的&lt;p contenteditable&gt;&lt;/p&gt;,当按下回车键并将焦点更改为它时,焦点似乎没有触发。如果我将焦点设置为新段落以外的元素(请参阅this fiddle),它会起作用,但如果我将焦点放在新创建的段落上,则不会。

有什么想法吗?

【问题讨论】:

  • 你希望这个工作多次,还是只在第一次工作?

标签: javascript jquery contenteditable


【解决方案1】:

当我使用你的代码但在创建新段落时使用括号时,它可以工作

$(document).ready(function(){
    $( "p[contenteditable]" ).on( "keypress", function(e) {
        var code = e.keyCode;
        if(code == 13) { //Enter key
            $(this).after('<p class="new" contenteditable>hi</p>');
            $('p.new').css("color","red").focus();
            e.preventDefault();
        }
    });
});

【讨论】:

  • 现在我觉得自己很笨。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 2011-01-09
  • 2017-09-21
  • 2017-07-20
  • 2013-05-23
  • 1970-01-01
  • 2011-12-19
相关资源
最近更新 更多