我有这个简单的 Jquery 代码:
$('.answerComment').click(function() {
$(this).children('.answerForm').html('<textarea></textarea>');
});
但是只要我点击文本区域,光标就会消失,如果我想写点东西,我需要保持点击鼠标的左键
知道为什么吗?
试试这个:
$('.answerComment').click(function(e) {
if (e.target.nodeName == 'TEXTAREA') return;
$(this).children('.answerForm').html('<textarea></textarea>');
});
但是您选择的不是显示 textarea 的最佳方式。
这是因为单击子元素时也会调用 click()
您可以通过检查实际单击了哪个元素来避免这种情况
$('.answerComment').click(function(e) {
if ($(e.target).hasClass("answerComment")){
$(this).children('.answerForm').html('<textarea></textarea>');
}
});