[英]Event that listens for enter click gets called only once
我正在嘗試在按下Enter鍵時將文本動態添加到textarea中。
$(document).ready(function () {
$('#content').on("keydown", function (e) {
if (e.keyCode == 13) {
$('textarea').append("Hello");
}
})
});
這是運行的代碼,它只添加一次文本(頁面加載后第一次添加文本),然后什么也不添加。 是什么原因造成的?
嘗試
$(document).ready(function () { $('textarea').on("keydown", function (e) { if (e.keyCode == 13) { this.value+= 'Hello'; } }) });
該事件已在textarea本身上注冊,並且新內容已添加到textarea值中。
將文本添加到textarea
如果要將文本添加到文本區域中現有內容的任何位置 ,則可以使用此功能。 只需單擊要插入文本的位置,然后按Enter鍵。 但是您可以將其用於任何您喜歡的事件(例如,單擊按鈕)。
function insertText(inputId, text) {
var txtarea = document.getElementById(inputId);
var scrollPos = txtarea.scrollTop;
var strPos = 0;
var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
"ff" : (document.selection ? "ie" : false));
if(br == "ie") {
txtarea.focus();
var range = document.selection.createRange();
range.moveStart('character', -txtarea.value.length);
strPos = range.text.length;
} else if(br == "ff") strPos = txtarea.selectionStart;
var front = (txtarea.value).substring(0, strPos);
var back = (txtarea.value).substring(strPos, txtarea.value.length);
txtarea.value = front + text + back;
strPos = strPos + text.length;
if(br == "ie") {
txtarea.focus();
var range = document.selection.createRange();
range.moveStart('character', -txtarea.value.length);
range.moveStart('character', strPos);
range.moveEnd('character', 0);
range.select();
} else if(br == "ff") {
txtarea.selectionStart = strPos;
txtarea.selectionEnd = strPos;
txtarea.focus();
}
txtarea.scrollTop = scrollPos;
return false;
}
這是編輯過的小提琴:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.