奇怪的问题,显然并不常见于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 :(得分:0)
我认为答案的一部分(可能是0.01%)。选择器没有抓住任何东西,这解释了不合作的行为。我认为这意味着jquery mobile和jquery本身正在幕后处理这个事件,他们指的是其他东西,显然不是我的选择器。
正如this stack question中所建议的那样,我深入研究了点击该链接时实际发生的事情,这很奇怪。
,即&#34;点击&#34;在Chrome开发者工具Source
标签中查看 - &gt; Event Listener Breakpoints
- &gt; Mouse
- &gt; Click
然后点击f11
直到它停止跳转,我发现了一个似乎不可避免的While
循环,其中事件被挂起。 While循环似乎位于第4541行的jquery-2.1.1.js
中。
这是一个有趣的引擎盖下的东西,在某些方面证明非常有价值,但我不确定在这里做什么。有什么建议吗?
答案 1 :(得分:0)
截至此日期,当您尝试在Jquery 2.1.4之后使用JQM 1.4.5时会出现此问题