0

私はこの単純な Jquery コードを持っています:

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

しかし、テキストエリアをクリックするとすぐにカーソルが消え、何かを書きたい場合は、マウスの左ボタンをクリックしたままにする必要があります

理由はありますか?

4

2 に答える 2

0

これは、子要素をクリックしたときにclick()も呼び出されるためです。

どの要素が実際にクリックされているかを確認することで、これを回避できます

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

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


});
于 2013-02-17T13:22:23.390 に答える
0

これを試して:

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

しかし、テキストエリアを表示する最善の方法を選択していません。

于 2013-02-17T13:19:33.657 に答える