[英]trying to get focus to end of textarea after creating a dynamic value with jquery
这是我的javascript:
$(document).ready(function(){
$(".reply").click(function(){
var replyId = $(this).attr("id");
$("textarea[name='comment']").val("<reply:"+replyId+">");
$("textarea[name='comment']").ready(function(){
moveCursorToEnd($(this));
});
});
});
function moveCursorToEnd(el) {
if (typeof el.selectionStart == "number") {
el.selectionStart = el.selectionEnd = el.value.length;
} else if (typeof el.createTextRange != "undefined") {
el.focus();
var range = el.createTextRange();
range.collapse(false);
range.select();
}
}
我对使用javascript的函数有点新,但这似乎不起作用它会将值放入但不关注textarea。 我确信我做的事情非常愚蠢,有什么想法吗?
您正在将jquery对象传递给期望DOM元素的函数。 你也想摆脱ready
:
$(".reply").click(function(){
var replyId = $(this).attr("id");
var $textArea = $("textarea[name='comment']");
$textArea.val("<reply:"+replyId+">");
moveCursorToEnd($textArea[0]);
});
textarea的ready事件不会触发,因为一旦附加了事件,textarea就已经被加载了。 此外,您还必须将原始元素而不是jQuery对象传递给函数。 尝试改变这些线条
$("textarea[name='comment']").ready(function(){
moveCursorToEnd($(this));
});
对此
moveCursorToEnd($("textarea[name='comment']")[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.