【问题标题】:href's onclick breaks after other href is clicked单击其他href后href的onclick中断
【发布时间】:2015-06-30 11:51:14
【问题描述】:

我在科尔多瓦应用程序中使用jquery mobile

我有多个链接(jquery 移动按钮),其中一些遵循普通的href 链接,其他则调用onclick 中的一些代码。

当使用onclick 按下我的按钮时,它们适用于多次按下。我可以多次按下它们,每次都调用代码。

但是,当我使用普通的 href 链接按下按钮时,使用 onclick 的按钮似乎坏了。当我按下正常的href 链接后的按钮时,我的其他onclick 按钮停止工作。

值得注意的是,我使用onclick 的按钮也从不 显示jquery mobile 在单击时添加的“按下”动画。普通的href 按钮总是在单击时显示“按下”动画。

我的链接都导航到应用程序外部,要么激活意图,要么使用 InAppBrowser 导航到外部网站。普通的href 按钮始终有效。

我尝试在单击按钮时重新加载页面,但这不起作用。

 $("#ctel").on('click', function (e) {

      $.mobile.changePage("#businessCard");

 });

我的链接:

<a href="tel:x" id="ctel" class="ui-btn ui-icon-phone ui-btn-inline ui-btn-icon-notext ui-corner-all"></a>
<a href="mailto:x" id="cmail" class="ui-btn ui-icon-mail ui-btn-inline ui-btn-icon-notext ui-corner-all"></a>
<a href="#" id="cbookings" class="ui-btn ui-icon-calendar ui-btn-inline ui-btn-icon-notext ui-corner-all" onclick="window.open('link', '_system');"></a>
<a href="#" id="cwebsite" class="ui-btn ui-icon-home ui-btn-inline ui-btn-icon-notext ui-corner-all" onclick="window.open('link', '_system');"></a>

【问题讨论】:

  • ...详细解释您的问题会很棒。什么停止工作?该按钮背后的功能?请提供一个小提琴,我们可以重现您的问题。
  • 我以为我说的特别详细 :-) 实际的 onclick 代码停止触发,即按下按钮时我无法导航到外部链接。
  • 你能在小提琴中重现这个吗?你先按a,然后你的onclick就不能再按了?
  • 没有小提琴,代码使用 jquery mobile,按钮主题等。请参阅我的不同 按钮。有些使用href,有些使用onclick。使用 href,打破 onclick 的。
  • 您可以简单地将 jQuery Mobile 添加到您的小提琴中。这不是 jQuery 和 jquery mobile 的正常行为。您的代码库中一定有问题。

标签: javascript jquery cordova jquery-mobile mobile


【解决方案1】:

正如@Sithys 建议的那样,我确实遇到了一个与 jquery 移动按钮没有直接关系的错误。我正在重写我的 url 以指向另一个 stats url,然后它从中重定向到适当的 url。

似乎有些意图不喜欢这种重定向,并且可能在 android/cordova 生态系统的某个地方造成了不希望的效果/错误。我删除了 stats url,并暗示重定向到意图,一切正常。

奇怪的是,我确实在 Ripple 模拟器中对此进行了测试,并且它与统计跟踪 url 和重定向完美配合。

我最终做了一个手动的 ajax 帖子来跟踪我的点击,并正常激活了意图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2021-04-25
    • 1970-01-01
    相关资源
    最近更新 更多