在打开超链接时,可能会触发其父元素的click事件,如果只想跳超链接,不需要执行click事件的操作,该怎样解决呢?
思路1:对click事件的进行判断,如果此标签内有有herf就停止执行。
## html
<div id="xx">
<a href='http://www.baidu.com'></a>
</div>
## js
$('body').on('click','#xx',function(e) {
if (!e.target.href) {
//do something
}
})
思路2:对a标签增加click事件,并阻止冒泡,(此方式未验证)
$('body').on('click','#xx a',function(event) {
event.stopPropagation();//此方式下,此事件仍会向下执行
// do sth
})
$('body').on('click','#xx',function(e) {
//do something
})
思路3:JQUERY选择器精确化
# 暂时想不到什么办法可以让选择器定位到父元素同时排除子素的方法