提问者:小点点

jquery移动事件。preventdefault()不工作


奇怪的问题,显然在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


共2个答案

匿名用户

我有我认为答案的一部分(可能是0.01%)。选择器没有抓取任何东西,这解释了这种不合作的行为。我认为这意味着jquery mobile和jquery本身在幕后处理这一事件,它们指的是其他东西,显然不是我的选择器。

正如在这个堆栈问题中所建议的,我深入研究了当你点击那个链接时会发生什么,这很奇怪。

即,在ChromeDeveloper ToolsSource选项卡中选中单击-

这是一个有趣的幕后故事,在某些时候会被证明是非常有价值的,但我不确定在这里该做什么。有什么建议吗?

匿名用户

到目前为止,当您尝试将JQM 1.4.5与JQuery 2.1.4之后的任何内容一起使用时,会出现此问题

请参阅jquerymobilegithub