2010-12-07 5 views
0

내 jquery 함수에서 li 및 img 별도로 클릭 기능을 트리거하는 데 사용하지만 이미지를 클릭하면 불행히도. 목록도jquery에서 트리거되는 함수는 무엇입니까?

HTML 코드를 트리거하기위한 기능을 클릭

<li id="list_id">List_text<img src='image.jpg' id="img_id"></li> 

JQuery와 기능 :

 
$("#list_id").click(function(){ 
alert('List is clicked'); 
}); 

$("#img_id").click(function(){ 
alert('Image is clicked'); 
}); 

내가 두 기능은 트리거 이미지를 클릭하면.

* 질문 : 난 당신이 stop the event propagation에 필요한 목록을 한 번 내가 클릭

+0

어딘가에 stopPropagation이 false를 반환하는 것보다 낫다면, 나는 당신에게 링크 – kobe

답변

2

을 이미지를 클릭하고 목록을 클릭 기능을 트리거하면 난 단지 트리거 이미지에 대한 기능을 클릭해야 * :

$("#img_id").click(function(evt){ 
    alert('Image is clicked'); 
    evt.stopPropagation(); 
}); 
+0

을 얻을 것이다. 그것은 여전히 ​​li click function을 호출한다. 이후 나는 아약스에서 li과 img를 얻는다. 나는 그것이 작동하지 않는다고 생각한다 –

+0

당신은 AJAX로부터 li와 img를 얻는다는 것은 무엇을 의미합니까? 클릭 핸들러는 언제 첨부합니까? 그리고 여기는 [작업 데모] (http://jsfiddle.net/P6vgS/)입니다. –

0

사용 event.stopPropagation();

 $("#img_id").click(function(){ 
      alert('Image is clicked'); 
    event.stopPropagation(); 
      }); 
+0

여전히 리 클릭 기능을 호출합니다. 이후 나는 아약스에서 li과 img를 얻는다. 나는 그것이 작동하지 않는다고 생각한다 –

0
$("#img_id").click(function(){ 
    alert('Image is clicked'); 
    return false; 
}); 

그냥하는 것입니다 prevent the event from bubbling up (만약 당신이 원하는 경우, 다른 기본 동작을 방지 중에서) 함수에서 false을 반환합니다.

+0

stopPropagation은 false를 반환하는 것보다 낫다. 그 모든 미래를 죽인다. – kobe

+0

@ goov 정확하게 OP가 원하는 것에 달려 있으며, 내 대답에 메모를 추가했다. – deceze

관련 문제