문서가 준비되면 서버에서 게시물 요청을 통해 일부 데이터를 가져오고 태그로 HTML 태그를 채 웁니다. 해당 태그를 클릭하면 주석 텍스트 영역이 표시됩니다. document
섹션을 클릭하면 텍스트 영역은으로 마감됩니다. 여기서 문제는 textarea에 텍스트를 입력 할 수 없다는 것입니다. 내부를 클릭하면 숨어 있습니다. event.stopPropagation()
을 사용해 보았지만 사용하지 않았습니다.jquery - using event.stopPropagation()
가 여기 내 jQuery 코드입니다 :
$.post("/person/keywords/get/", function(data){
for(i=0; i<data.length; i++)
{
count = count + 1;
$(".keywords-set").append('<div class="keyword-item"><span class="keyword" id="keyword-'+count+'">'+data[i]+'</span><textarea class="comment" id="comment-'+count+'"></textarea></div>');
}
});
$(".keywords-set").on('click', "[id^=keyword]", function(event) {
event.preventDefault();
i = $(this).attr("id");
i = i.split('-').pop();
$("#comment-"+i).show();
return false;
});
$(".comment").click(function(event) {
event.stopPropagation();
});
$(document).click(function() {
$(".comment").hide();
});
완전한 HTML과 자바 스크립트 코드 보려면 여기를 확인하십시오 : 그것은 내 로컬 호스트에 jsfiddle 아니라에서 일하고 https://gist.github.com/3024186
. 이유를 말해 줄 수 있겠습니까, 이유가 무엇입니까?
감사합니다. 나는 또한이
$(".keywords_set").on('click', ".comment", function(event) {
event.stopPropagation();
});
event.stopPropagation()
시도했습니다
UPDATE 아약스를 통해 업데이트 된 HTML 요소에 대해 작동하지 않습니다. 그러나 정상적인 (이미 주어진) 요소를 위해 일하고있다.
$(".keywords_set").on('click', ".comment", function(event) {
당신은 당신이 ".keywords_set"요소에 이벤트를 잡기 있다는 것을 이해해야합니다, 그것은
".comment"를 통해 버블 경우 거기 당신은 체크됩니다
시도해 보셨습니까? event.stopPropagation(); false를 반환; –
예 event.preventDefault()를 포함한 모든 메서드를 시도했습니다. 같은 문제가 발생했습니다. – rnk
@BobDavies : 그건 중복입니다. 'return false'는 이미'event.stopPropagation()'을합니다. – Jon