jquery mobile event.preventdefault()无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery mobile event.preventdefault()无效相关的知识,希望对你有一定的参考价值。
奇怪的问题,显然并不常见于jquery mobile。我有一个两项列表视图弹出窗口,旨在允许用户通过<a href="someurl.com">
切换视图。每个选项都旨在在同一页面上显示json数据。我不希望href
将观众带到另一页,所以我试图使用event.preventdefault()
。
但经过大量研究,我仍然无法阻止href
跳转到google.com,即使(我认为)我正在使用event.preventdefault();
。
这是相关的html:
<div data-role='popup' id='popupSwitchView' data-theme='none'>
<ul data-role='listview'>
<legend>Choose a view</legend>
<li><a href='javascript:;' data-role='button' data-transition='fade' data-mini='true' class='ui-btn-active switchview' id='ABC' name='theView' value='ABC'>ABC</a>
</li>
<li><a href='http://google.com' data-role='button' data-transition='fade' data-mini='true' class='switchview' id='DEF' name='theView' value='DEF'>DEF</a>
</li>
</ul>
</div>
......这是jquery:
$('#DEF').on('click', function () {
event.preventDefault();
我想知道这是否是我使用选择器的方式,但我用相同的代码here测试了选择器,看起来我的选择器很好。
Chrome控制台未显示任何错误。对我在这里缺少什么的想法?
编辑
我忽略了提到上面的html和jquery是php变量$html_jq
的一部分,它是从另一个php文件中回显的。
也就是说,file1.php
回应$html_jq
,这是在file2.php
中定义的。
我认为答案的一部分(可能是0.01%)。选择器没有抓住任何东西,这解释了不合作的行为。我认为这意味着jquery mobile和jquery本身在幕后处理这个事件,他们指的是其他东西,显然不是我的选择器。
正如在this stack question中所建议的那样,当我点击该链接时,我深入研究了实际发生的事情,这很奇怪。
即,在Chrome开发者工具Source
选项卡中选中“点击” - > Event Listener Breakpoints
- > Mouse
- > Click
然后击中f11
直到它停止跳转,我发现了似乎是一个不可避免的While
循环,其中事件被挂起。那个While循环似乎在第4541行的jquery-2.1.1.js
中。
这是有趣的引擎盖下的东西,在某些时候证明非常有价值,但我不确定在这里做什么。有什么建议?
截至此日期,当您尝试在Jquery 2.1.4之后使用JQM 1.4.5时,会出现此问题
以上是关于jquery mobile event.preventdefault()无效的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Mobile仿360首页,jQuery Mobile网格布局,jQuery Mobile网址大全,HTML5仿360首页
jQuery Mobile-jquery Mobile 怎么用ajax提交表单
jquery mobile,结合jquery mobile“页面”和内部页面
JQuery Mobile 1.3.1“$.mobile.loading”不工作