javascript - js事件绑定问题
PHP中文网
PHP中文网 2017-04-10 14:39:43
[JavaScript讨论组]

about-us是绿色的背景p块。
按钮被包在about-us里面。

点击按钮,弹出黑色框。我希望点击背景块,该框隐藏。

问题是:
1.为什么点击按钮,同样会触发绑定在about-us上的函数?
2.jquery有没有脱离焦点事件(不是blur那种)?

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
天蓬老师

问题1,这里面涉及到事件的冒泡机制,由于按钮是背景块的子元素,所以点击的时候,事件会冒泡到他的父级元素,从而触发父级元素的点击事件。

比较简单的修改办法是阻止按钮的冒泡:

$('#cooperate-btn').click(function (e) {
  e.stopPropagation(); //阻止冒泡
  $('#popover-1').toggle();
});

对于问题2,不知道focusout()是不是你想要的。、


问题2 UPDATE

你可以给document添加click事件,然后判断e.target是否是点击的按钮,然后进行相关操作。
用法参见event.target,具体代码就不写了。

怪我咯

你的问题1是事件冒泡产生的现象,你可以取消冒泡.建议你的事件换成 on参考jquery手册

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号