about-us是绿色的背景p块。 按钮被包在about-us里面。
点击按钮,弹出黑色框。我希望点击背景块,该框隐藏。
问题是: 1.为什么点击按钮,同样会触发绑定在about-us上的函数? 2.jquery有没有脱离焦点事件(不是blur那种)?
认证0级讲师
问题1,这里面涉及到事件的冒泡机制,由于按钮是背景块的子元素,所以点击的时候,事件会冒泡到他的父级元素,从而触发父级元素的点击事件。
比较简单的修改办法是阻止按钮的冒泡:
$('#cooperate-btn').click(function (e) { e.stopPropagation(); //阻止冒泡 $('#popover-1').toggle(); });
对于问题2,不知道focusout()是不是你想要的。、
focusout()
你可以给document添加click事件,然后判断e.target是否是点击的按钮,然后进行相关操作。 用法参见event.target,具体代码就不写了。
document
click
e.target
event.target
你的问题1是事件冒泡产生的现象,你可以取消冒泡.建议你的事件换成 on参考jquery手册
on
问题1,这里面涉及到事件的冒泡机制,由于按钮是背景块的子元素,所以点击的时候,事件会冒泡到他的父级元素,从而触发父级元素的点击事件。
比较简单的修改办法是阻止按钮的冒泡:
对于问题2,不知道
focusout()
是不是你想要的。、问题2 UPDATE
你可以给
document
添加click
事件,然后判断e.target
是否是点击的按钮,然后进行相关操作。用法参见
event.target
,具体代码就不写了。你的问题1是事件冒泡产生的现象,你可以取消冒泡.建议你的事件换成
on
参考jquery手册