0

我有这个简单的 Jquery 代码:

$('.answerComment').click(function() {
    $(this).children('.answerForm').html('<textarea></textarea>');  
});

但是只要我点击文本区域,光标就会消失,如果我想写点东西,我需要保持点击鼠标的左键

知道为什么吗?

4

2 回答 2

0

试试这个:

$('.answerComment').click(function(e) {
    if (e.target.nodeName == 'TEXTAREA') return;
    $(this).children('.answerForm').html('<textarea></textarea>');  
});

但是您选择的不是显示 textarea 的最佳方式。

于 2013-02-17T13:19:33.657 回答
0

这是因为单击子元素时也会调用 click()

您可以通过检查实际单击了哪个元素来避免这种情况

$('.answerComment').click(function(e) {

    if ($(e.target).hasClass("answerComment")){
        $(this).children('.answerForm').html('<textarea></textarea>');    
    }


});
于 2013-02-17T13:22:23.390 回答