jQuery 在单击时仅选择当前元素

标签 jquery

使用 .on("click", 时是否可以干净地仅选择当前单击的 div 而不是子元素?

基本上我有一个外部 div,淡入时宽度为 100%,高度为 100%,然后中间有一个容器,我的目标是当您单击外部 div 时它会淡出,但当您单击外部 div 时它不会淡出您单击内部 div。

我在这里创建了一个 jFiddle 来演示这个问题:http://jsfiddle.net/silver89/kaxsL/

我尝试过使用 div > #box 但没有成功,所以需要更多建议吗?

最佳答案

试试这个:

$(document).on("click", "a", function(){
     $("#box").fadeIn("fast");
     return false;
});

$('div#box').on('click',function(e){
    $(this).fadeOut();
});

$('div.inner').on('click',function(e){
   e.stopPropagation();
});

您只需要阻止事件冒泡即可。您可以做任何您想做的事情来选择任一 div。 ​

关于jQuery 在单击时仅选择当前元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214943/

相关文章:

javascript - 单击按钮时增加 div 的高度,并在我再次单击同一按钮时减小它

javascript - 设置时间倒计时器jquery

jquery - 以编程方式选择字段集中的单选按钮

javascript - 不可见的 reCaptcha : can't make a working AJAX call, 得到无限循环

javascript - 'enter' 表单提交时触发文档点击

javascript - Pusher 以 > 200ms 减慢 ajax 请求

jquery - 如何在基于 DIV 的选择表单元素上使用 jQuery Validate 来处理多个字段

javascript - 找不到点击事件

javascript - Skrollr 前 3 部分表现良好,然后就不再表现良好

javascript - 如何使用 JavaScript 从页面获取具有特定类的动态加载的 HTML 标签?