我有一个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它也是第一个功能。
答案 0 :(得分:3)
您可以使用event.stopPrpagation()
阻止<img>
上的点击进入<div>
,如下所示:
$("#new_lang").click(function(e) {
alert("something");
e.stopPropagation(); //don't bubble!
});
通常会发生什么events bubble,click
上的<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。