奇怪的问题,显然在jQuery移动设备中并不罕见。我有一个两个项目列表视图弹出,旨在允许用户通过切换视图
但经过大量研究,我仍然无法阻止一个href
跳转到谷歌。com,即使(我认为)我正在使用事件。预防默认值()代码>正确。
以下是相关的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();
我想知道这是否是我使用选择器的方式,但我在这里用相同的代码测试了选择器,似乎我的选择器很好。
Chrome控制台没有显示任何错误。你有没有想过我在这里遗漏了什么?
编辑
我忽略了提到上面的html和jquery是php变量$html\u jq
的一部分,该变量从另一个php文件中得到响应。
i、 例如,file1。php
回显$html\u jq
,它在文件2中定义。php
。
我有我认为答案的一部分(可能是0.01%)。选择器没有抓取任何东西,这解释了这种不合作的行为。我认为这意味着jquery mobile和jquery本身在幕后处理这一事件,它们指的是其他东西,显然不是我的选择器。
正如在这个堆栈问题中所建议的,我深入研究了当你点击那个链接时会发生什么,这很奇怪。
即,在ChromeDeveloper ToolsSource
选项卡中选中单击-
这是一个有趣的幕后故事,在某些时候会被证明是非常有价值的,但我不确定在这里该做什么。有什么建议吗?
到目前为止,当您尝试将JQM 1.4.5与JQuery 2.1.4之后的任何内容一起使用时,会出现此问题
请参阅jquerymobilegithub