【发布时间】:2018-08-26 11:28:08
【问题描述】:
我正在尝试从动态添加的 dom 元素中获取价值,灵感来自这个答案:
Jquery .keypress on a dynamically added input
我的代码:
var commentbox = $('<div class=\"span6\"><textarea rows=\"1\" data-replyparent=\"'+replyparentid+'\" class="replytocomment" id=\"'+commentboxid+'\" style=\"display:none;\"></textarea></div>')
.keypress (function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 13) {
console.log("it seems to work: "+ $(this).val());
$.ajax({
url: '/add/comment',
type: 'POST',
data: {
id: id,
parent: replyparentid,
comment: comment
},
success: function(){
}
});
}
})
.insertAfter(placeholder)
;
//then insert the emojionearea after the placeholder
//$(commentbox).insertAfter(placeholder);
$('.replytocomment').emojioneArea({
pickerPosition: "bottom",
filtersPosition: "bottom",
tonesStyle: "bullet"
});
我不知道如何从 keycode 13 上的 textarea 获取值,这怎么可能,当使用它“内联”时。
在控制台中,我只得到“它似乎工作”,而不是文本区域的值。
如果我更新 var 评论框,在 textarea 中有一些东西,像这样:
var commentbox = $('<div class=\"span6\"><textarea rows=\"1\" data-replyparent=\"'+replyparentid+'\" class="replytocomment" id=\"'+commentboxid+'\" style=\"display:none;\">TESTING</textarea></div>')
它适用于:$(this).find('textarea').val()
所以我想这可能与听众有关? 不过看起来有点奇怪,因为当我像这样记录整个元素时:console.log($(this).find('textarea')); 对于控制台,它会在 valuefield 中显示正确的更新值。
最好的问候。
【问题讨论】:
-
已经解决,Jquery 按键事件。 Please check the below link
标签: javascript jquery dom keypress