0

我有这个 sudo html

<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>

然后我有这些点击

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

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

我遇到的问题是,如果该人点击了 remove-tile div,则 .home-page-item onclick 也会在之后触发。有没有办法防止第二个主页项目被触发?我想也许解绑,但不知道如何使用它

谢谢

4

3 回答 3

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():
});
于 2012-10-09T20:03:10.927 回答
0

在函数中添加return false;这是因为事件传播而发生的。在jQuery您可以使用 return 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;
}); 
于 2012-10-09T20:01:18.303 回答
0

这是因为事件冒泡.. 添加 event.stopPropagation(); 到您的点击事件中

$('.remove-tile').live("click", function(event) {
    event.stopPropagation();
    removeTile();
});
于 2012-10-09T20:05:57.817 回答