Jquery 识别可点击区域
我有一个div class=“parent”。当我点击它时,我需要克隆div class=“child”并根据我点击的父区域显示它们。当我单击div class=“child”时,会出现另一个child div,这是我不想要的行为。 克服这个问题的一种方法是写这样的东西:Jquery 识别可点击区域,jquery,Jquery,我有一个div class=“parent”。当我点击它时,我需要克隆div class=“child”并根据我点击的父区域显示它们。当我单击div class=“child”时,会出现另一个child div,这是我不想要的行为。 克服这个问题的一种方法是写这样的东西: $('.parent')。单击(函数(事件){ if(event.target.className!='child'){ $('.child').clone().show(); } }); 我认为这不是很优雅,因为如果di
$('.parent')。单击(函数(事件){
if(event.target.className!='child'){
$('.child').clone().show();
}
});
我认为这不是很优雅,因为如果div类=“子”将是子代,那么你也必须把它们放进IF-()语句中。 有人能告诉我如何处理这个问题吗。可能有一种方法可以将div class=“child”的所有子级放在一个数组中并循环它们。 任何想法和想法都值得赞赏,
谢谢这个怎么了
$('.parent').click( function(e) {
$(this).find('div[class=child]').show();
});
试一试
这将克隆子对象并将其附加到父对象,如果不只是删除appendTo并设置clone(true),我不知道是否需要这样做
应该只针对父母而不是孩子。从jQuery文档中:
事件。目标:
目标属性可以是元素
为事件或事件注册的
它的后代。它通常是有用的
将event.target与中的此进行比较
以确定事件是否为
由于事件冒泡而正在处理。
此属性在事件中非常有用
授权,当事件冒泡时
您也需要发布html。当您单击一个子div时,另一个子div将显示我不想显示的行为我需要几个子div显示在父div内部,我需要在单击父区域时显示它们,但是,当单击子区域时,它们也会出现,我不希望问题是当您单击.child div时会出现另一个.child div。我只需要克隆并显示child div,如果可单击区域与父div相等,但与子div不相等
jQuery('.parent').bind('click', function(){
var NewChild = jQuery('.child').clone(false);
NewChild.appendTo(jQuery(this));
NewChild.show();
}
$('.parent').click(function(event){
if (event.target === this){
$('.child').clone().show();
}
});