微信端开发 如何阻止父区域链接的执行
来源:互联网 发布:惊惶庞麦郎 知乎 编辑:程序博客网 时间:2024/06/06 05:44
问题重现
1 描述:在div上加上链接,其内部也加了一个a链接(但是由于ajax加载页面,所以把绑定事件全部绑上外层一个大span域中),当点击a的时候不应该进入div的链接地址,a点击事件在普通函数func1中,div事件func2在$(function(){}),所以在方法执行数组中就是[func1,func2]
2 解决:当点击a的时候阻止div的函数执行e.stopPropagation();
3 问题:当点击a的事件中加入e.stopPropagation停止冒泡时依旧继续进入div链接
原因是:
$(function(){})在普通函数执行之后,因为得等页面元素加载完,而项目中用的ajax加载,存在异步,所以普通函数执行之前,而e.stopPropagation停止冒泡 也就是不再向上找符合条件的a元素,方法还是继续执行的,当进入div执行方法中的时候继续链接div地址. 最终解决:定义变量flag。。 在a事件中加入$(this).attr("flag",1) 在div事件中加入if($(this).attr("flag")){ $(this).removeAttr("flag"); return;}结束~~~~~~----------------------------------------------------------------------分隔线-----------------------------------------------------------------
0 0
- 微信端开发 如何阻止父区域链接的执行
- 阻止非法的JS执行
- 阻止默认行为:比如a链接的跳转。阻止冒泡:子元素的事件触发到了父元素身上
- 如何阻止windows10的自动更新?
- 如何阻止h5body的滑动
- 阻止jquery的each函数执行
- Java中阻止线程执行的方法
- 阻止knockout的事件默认执行
- android开发如何增大控件的可点击区域
- jquery阻止链接跳转
- 阻止链接打开
- 如何阻止电脑蓝屏的发生
- 如何阻止DBA看到你的数据?
- js 如何阻止事件的冒泡
- 如何阻止Android的反编译apk
- jq中如何阻止程序的运行
- 如何阻止浏览器的默认行为?
- 如何阻止handler的消息处理
- Android开发中Handler的案例分析
- Mongodb与Redis应用指标对比
- python dom解析xml 总结
- MySQL5.7重置ROOT密码测试可行的办法
- iOS面试题(四)
- 微信端开发 如何阻止父区域链接的执行
- 关于docker几个需要注意的事项
- MySQL使用详解--根据个人学习总结
- 通过输入的字符串日期转换成星期几
- iOS9 字符串转utf-8方法
- Ubuntu 删除dash 中无效的图标
- 期末考试-猴子吃桃(算法基础 第10周)
- 对MBProgressHUD第三方进行源码分析
- Java中的EL和JSTl