2012-10-09 1 views
0

내가 그때 난 데 문제는 이러한 onclicks두 이벤트 발사, 내가 비활성화 무시할 수있는 방법/다른

$('.remove-tile').live("click", function(event){ 
     event.preventDefault(); 
     removeTile(); 
}); 

$(".home-page-item").live("click", function(event){ 
     console.log("Here as well"); 
     do_some_otherstuff(): 
}); 

<ul> 
<li id="434" class="home-page-item" > 
<div id="x_434" class="home-page-item-foot remove-tile"></div> 
<div class="home-page-item-div"> 
    </li> 
</ul> 

이 sudo는 HTML을 바인딩 해제 사람이 클릭 할 경우 타일 ​​제거 div에서 .home-page-item onclick도 이후에 실행됩니다. 두 번째 홈 페이지 항목 발사를 막을 수있는 방법이 있습니까? 나는 기능에 거짓을 반환 추가 그것

감사

+0

$ ('제거 제목) .unbind (' '라이브) event.stopPropagation(); 추가 .. 버블 링 때문에 이벤트입니다 -이 바인딩을 해제합니다. 1.8 이상 버전에서는 켜기/끄기를 대신 사용합니다. 또한, 귀하의 정보를 위해서, jQuery "unbind"는 jQuery와의 이벤트 바인드에서만 작동합니다. – gotqn

답변

1
$('.remove-tile').live("click", function(event){ 
     event.stopImmediatePropagation(); 
     removeTile(); 
}); 

$(".home-page-item").live("click", function(event){ 
     console.log("Here as well"); 
     do_some_otherstuff(): 
}); 
0

를 사용하는 방법을 잘 어쩌면 때어하지만 그렇게 생각하지 않는다; 이벤트 전파로 인해 발생합니다. jQuery에서 반환 값 false를 사용하면 비 귀뜸 (preventDefault) 및 이벤트 전달을 방지 할 수 있습니다.

$('.remove-tile').live("click", function(event){ 
     removeTile(); 
     return false; 
}); 

$(".home-page-item").live("click", function(event){ 
     console.log("Here as well"); 
     do_some_otherstuff(): 
     return false; 
}); 
0

이것은 당신의 클릭 이벤트에

$('.remove-tile').live("click", function(event) { 
    event.stopPropagation(); 
    removeTile(); 
}); 
관련 문제