单击事件未在内部div上调用

时间:2013-04-05 20:14:18

标签: jquery css click

我需要编写jQuery代码,当我点击div上的任何地方时,我将其称为jQuery事件,当他们点击特定项目时,在此div中,不要调用click事件。 “testes”类不应该调用click。

但是,我必须使用的结构如下所示,因为它是一个特定的jQuery。

以下是代码:

HTML:

<div class="tiles red">
    <div class="live-tile" id="tile1" data-mode="flip">        
        <div>
            <div class="testes"><a class="full" href="#"><p>* CNAE<br /></a></div>* CBO<br />* CID-10<br /></p>
            <span class="tile-title"><p>Clique para voltar</p></span>
        </div>
        <div>
            <p>Cadastros básicos</p>
            <span class="tile-title">back title</span>
        </div>
    </div>    
</div>

JQuery的:

$(function () {
  $(".live-tile").click(function () {
    $(this).liveTile('play');                
  });
});

由于

3 个答案:

答案 0 :(得分:4)

使用event.stopPropagation()

尝试此操作
$(function () {
  $(".live-tile").click(function () {
    $(this).liveTile('play');                
  });

  $(".testes").click(function (e) {
    e.stopPropagation();                
  });
});

答案 1 :(得分:0)

您可以.bind()将事件发送到您的元素并阻止冒泡:

$(".live-tile").bind("click", function(){
    $(this).liveTile('play');                
}, false)

这种bind()形式是一种形式为jQuery的函数:

.bind( eventType [, eventData ], preventBubble )

答案 2 :(得分:0)

当我把code in JS fiddle放在一起时,其他几个人回答了你的问题。但是,具体如何为您的代码执行此操作。

$(function () {
$(".live-tile").click(function () {
    alert(".live-tile");              
});

$(".testes").click(function(e) {
    alert(".testes");
    e.stopPropagation();
});
});

More info on event bubbling and stopping propogation.