在jquery中点击了什么?

时间:2010-06-30 11:12:39

标签: jquery

我有一个div元素,其中包含img元素。

onclick div的{​​p> onclick我创建了一个函数,img img - 另一个函数。但是当我点击img时,它也会创建第一个函数,因为div位于isClicked元素中。 所以,我认为,如果有类似<div class="left_expended" style="position: relative;"> Լեզուներ <img src="images/new_page.gif" id="new_lang" title="Լեզու ավելացնել" /> </div> 的内容,点击div我可以验证,如果img 点击...

(我可以写一个逻辑,并通过这样验证它,例如onglick img我可以为某人添加一个类......但是也许它有一个函数?)

由于

更新

$(".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");
        });

和jquery

{{1}}

onglick img它也是第一个功能。

4 个答案:

答案 0 :(得分:3)

您可以使用event.stopPrpagation()阻止<img>上的点击进入<div>,如下所示:

$("#new_lang").click(function(e) {
  alert("something");
  e.stopPropagation();  //don't bubble!
});

通常会发生什么events bubbleclick上的<img>“气泡”到<div>之后......除非你停止它,这正是.stopPropagation()所做的。这样,激活$("div").click(...)的任何内容都在内的任何位置,除了图像,因为点击不再上升,这似乎是你所追求的:)

答案 1 :(得分:1)

http://api.jquery.com/bind/谈谈他们的工作方式。特别是:

  

从处理程序返回false是   相当于同时调用两者   .preventDefault()和   .stopPropagation()对事件的影响   对象

答案 2 :(得分:0)

我现在想,但你可以添加它添加到你的代码中:

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

然后,您可以使用CSS或jQuery,使用类“.isClicked”

希望能帮到你;)

答案 3 :(得分:0)

img的点击事件中使用stopPropagation,以便它不会进一步传播到div点击事件。另请查看http://api.jquery.com/event.isPropagationStopped/

Grz,Kris。