我有一个textarea,每次检测到“ keyup”时,它将textarea的当前值设置为textareas文本。原因是,这样该文本成为了HTML的一部分,然后我可以使用localStorage保存输入的文本。
到目前为止我的代码...
$(document).on('keyup', '.note_text', function () {
var text = $(this).val();
$(this).text(text);
});
我的问题是,一旦检测到按键,文本区域就不再是焦点,因此您必须单击它并再次键入,显然,您只能按住键才能连续键入,就像您键入一样通常该功能是通过向上键触发的。
我正在使用$(document),因为textarea是动态创建到DOM中的
答案 0 :(得分:1)
添加它,如jQuery documentation中所述:
$("textarea").trigger("focus");
如果没有jQuery,则与以下内容相同:
document.querySelector('textarea').focus();
这两个示例均假定您的html仅包含一个textarea。否则,您必须添加逻辑以选择正确的逻辑。
答案 1 :(得分:0)
经过反复试验,我设法找到了可行的解决方案...
$(document).on('keyup', '.className', function () {
var text = $(this).val(); // Gets the text of the textarea being typed in
$(this).html(text); // Set the text as part of the html of the textarea
$(this).focus(); // refocuses back on the text area so the user can type
save(); // saves the DOM to the localStorage
});