我已经使用phoneGap打包了我的JQM应用(android & ios)。它工作正常,但显示出一个像背景点击/点击事件发生的问题是一些情况。 即如果我点击弹出窗口中的按钮,点击传播到后台按钮。 我该如何预防? 目前我已经在弹出窗口后面设置了一个叠加层,并为叠加层设置了一些延迟(我不认为这是一个好方法),但底部标签栏显示相同的问题,因为叠加层不能放在这里。JQM背景点击问题
回答
我发现了一个解决方案,它在调用弹出窗口时将带有可点击元素的事件绑定到函数。像这样:
function callPopupWindow(){
$('#list li a').bind('click',function(e){
e.preventDefault();
//steps to do
e.stopImmediatePropagation();
$('#list li a').unbind('click');//if not unbinded it will trigger one more event with the elements.
});
}
它适用于所有浏览器(iphone,andriod,当然还有firefox和chrome)。
使用event.stopPropagation()来防止事件冒泡DOM树,阻止任何父处理程序被通知事件。
显示按钮点击一个<div>
和隐藏它<body>
click事件
编辑:
从jquery stopPropagation problem with live method
- 01提取个处理程序是对文件
- 事件处理程序的顺序执行,他们被束缚于任何给定 元素
你需要停下来检查的传播,因为我们是在同一水平。 .stopPropagation()可以防止冒泡的发生,但这并不重要,它在DOM中处于同一级别,因此您需要使用.isPropagationStopped()检查它是否停止。另外,由于处理程序按顺序触发,所以您需要将该document.onclick绑定到其他事件处理程序之后,否则它将在其他人试图停止传播之前先执行。
我的弹出窗口的点击事件是通过现场事件处理的。我发现了一个jquery文档,说event.stoppropagation不适用于现场活动。 http://api.jquery.com/event.stopPropagation/ – 2012-07-27 10:33:45
@muhammedbasil:看到这篇文章:http://stackoverflow.com/questions/3353275/jquery-stoppropagation-problem-with-live-method这将是有益的。 – 2012-07-27 10:37:05
@ muhammedbasil:更新了我的回答 – 2012-07-27 10:42:37
- 1. ListView背景点击
- 2. 背景问题
- 3. JQuery的 - 点击背景
- 4. 禁用点击背景UIViewController
- 5. 背景淡入点击
- 6. 点击后背景轻扫?
- 7. 背景图片点击
- 8. 背景颜色上点击
- 9. UIButton背景更改点击
- 10. 背景点击可见
- 11. JQM如何添加背景图像
- 12. IE7背景问题
- 13. Css背景问题
- 14. android背景问题
- 15. AppMobi背景问题
- 16. AVPlayer背景问题
- 17. cu3er背景问题
- 18. UITableView背景问题
- 19. UIAlertView背景问题?
- 20. JQM(jQueryMobile)AJAX内容和焦点问题()
- 21. 点击切换锚点标记背景
- 22. 点击标签和背景变化(不是标签的背景)
- 23. IE6背景位置(?)问题
- 24. 背景问题 - 扩展
- 25. WordPress的背景问题
- 26. 背景图像问题
- 27. CSS背景重复问题
- 28. CSS背景图像问题
- 29. 问题背景尺寸
- 30. 背景渐变问题
当我使用JQM simplemodal并显示jquery datepicker时,我有类似的问题。 “日”点击触发模式窗口下方的按钮。我尝试了不同的Z-index,但是失败了 – Anooj 2013-04-08 06:05:20