私はこの単純な Jquery コードを持っています:
$('.answerComment').click(function() {
$(this).children('.answerForm').html('<textarea></textarea>');
});
しかし、テキストエリアをクリックするとすぐにカーソルが消え、何かを書きたい場合は、マウスの左ボタンをクリックしたままにする必要があります
理由はありますか?
これは、子要素をクリックしたときにclick()も呼び出されるためです。
どの要素が実際にクリックされているかを確認することで、これを回避できます
$('.answerComment').click(function(e) {
if ($(e.target).hasClass("answerComment")){
$(this).children('.answerForm').html('<textarea></textarea>');
}
});
これを試して:
$('.answerComment').click(function(e) {
if (e.target.nodeName == 'TEXTAREA') return;
$(this).children('.answerForm').html('<textarea></textarea>');
});
しかし、テキストエリアを表示する最善の方法を選択していません。