我已经使用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. 背景问题
- 4. 更改android listview中背景颜色而不点击的问题
- 5. 点击jquery更改背景
- 6. UIButton背景更改点击
- 7. 背景图片点击
- 8. 背景颜色上点击
- 9. 背景点击可见
- 10. 可点击布局背景
- 11. 禁用点击背景UIViewController
- 12. 背景淡入点击
- 13. jquery - 背景图像点击
- 14. 点击后背景轻扫?
- 15. JQuery的 - 点击背景
- 16. AppMobi背景问题
- 17. 背景色问题
- 18. CustomListView背景问题
- 19. cu3er背景问题
- 20. UIAlertView背景问题?
- 21. Css背景问题
- 22. AVPlayer背景问题
- 23. UITableView背景问题
- 24. IE7背景问题
- 25. c背景问题#
- 26. android背景问题
- 27. JTextArea背景问题
- 28. JQM(jQueryMobile)AJAX内容和焦点问题()
- 29. JQM如何添加背景图像
- 30. JQM问题敲除
当我使用JQM simplemodal并显示jquery datepicker时,我有类似的问题。 “日”点击触发模式窗口下方的按钮。我尝试了不同的Z-index,但是失败了 – Anooj 2013-04-08 06:05:20