2010-06-30 3 views
0

나는 img 요소와 함께 div 요소를 가지고있다.jQuery에는 isClicked와 같은 것이 있습니까?

i는 하나의 기능을 수행하고 onclickimg - another입니다. 하지만 img을 클릭하면 imgdiv 요소에 있기 때문에 첫 번째 기능도 만들어집니다. IMG 클릭 ... 되지 않은 경우 그래서, 나는, isClicked 같은이 있다면 사업부의 onclick을 난 그냥 확인할 수 있다는 생각

(내가 논리를 작성하고 위해, 그렇게하여 확인할 수 있습니다 예를 온 클릭 IMG의 난 누군가에 클래스를 추가 할 수 있습니다 ...하지만 어쩌면하는 기능이있다)

감사

업데이트 :

<div class="left_expended" style="position: relative;"> 
    Լեզուներ 
    <img src="images/new_page.gif" id="new_lang" title="Լեզու ավելացնել" /> 
</div> 

및 JQuery와

$(".left_expended").live('click', function(){ 
      $(this).addClass("left_collapsed"); 
      $(this).removeClass("left_expended"); 
      $(this).next("div .container").slideUp(400); 
     }); 

     $("#new_lang").click(function() 
     { 
      alert("something"); 
     }); 

imcl의 onclick도 첫 번째 기능을 수행합니다.

답변

3

당신은 다음과 같이 event.stopPrpagation()를 사용하여 <div>까지가는로부터 <img>에 클릭을 방지 할 수 있습니다 :

일반적으로events bubble에서, <img>click가 "버블"것을 어떻게됩니까
$("#new_lang").click(function(e) { 
    alert("something"); 
    e.stopPropagation(); //don't bubble! 
}); 

나중에 <div> ... 그걸 막지 않으면 정확히 .stopPropagation()이됩니다. 클릭이 :)

+0

완벽 감사;) – Simon

0

내가 지금 생각 후하는지 것으로 보인다, 더 이상 거기 가지 않을 것입니다,하지만 당신은 추가 할 수 있습니다 때문에 $("div").click(...)를 활성화하는이 방법 아무것도 어디서나 이미지를 제외하고 내부에 코드에 이것을 추가 :

$("div,img").click(function(e){$(this).addClass("isClicked");e.stopPropagation();}); 

와 다음, 당신이 CSS 또는 jQuery를 함께 재생할 수 있습니다 클래스와 ".isClicked"당신 도움이

희망)

1

http://api.jquery.com/bind/은 그들이 어떻게 작동하는지에 대해 조금 이야기합니다. 특히 다음 핸들러에서 false를 반환

이벤트 개체 모두 .preventDefault() 및 .stopPropagation()를 호출하는 것과 이다.

관련 문제