【问题标题】:JQuery click() event not applying to <span> in webkitJQuery click() 事件不适用于 webkit 中的 <span>
【发布时间】:2016-06-02 13:24:52
【问题描述】:

我有一个&lt;span&gt; 标记,我已将.click() 事件应用到该标记,但它不适用于我尝试过的任何一款Android 手机。单击它时,文本只是暂时突出显示,但之后没有任何反应。我还验证了它可以在台式机和 iPhone 上运行。

<span class="likeunlike" data-text="Unlike">{{#t}}Unlike{{/t}}</span>

还有.click() 方法

this.$el.find('.likeunlike').click(function() {
    //code here
}

我在网上看到一些人说 Android 没有 onclick 事件,但这对我来说似乎很奇怪。

有人对我应该怎么做才能让可点击的 span 正常工作有任何建议吗?

编辑 1:我正在使用旧的 Google 手机进行测试,但似乎没有任何效果。在朋友的较新的 Android 手机上尝试过(在默认浏览器和 Chrome 中),该网站运行良好。哦,碎片化的 Android 生态系统的乐趣。 :)

【问题讨论】:

  • 你可以试试click,而不是touchstart
  • 感谢@ExplosionPills,但这也不起作用。我开始认为我正在使用的手机是罪魁祸首。

标签: javascript android jquery click html


【解决方案1】:

将空的onclick 属性添加到跨度或将cursor: pointer 应用于样式表中的元素。 More info here

【讨论】:

  • 空的onclick 属性不起作用,cursor: pointer 样式表添加也不起作用。我单独和一起尝试了这两个建议。感谢您发送的链接,但我不知道为什么这仍然不起作用。我使用的是三星的旧 Google 手机,没有其他 Android 手机可供测试。我爱安卓...
【解决方案2】:

你可以使用.tap():

this.$el.find('.likeunlike').on('tap click', function() {
    //code here
}

【讨论】:

  • 谢谢,但这也没用。 iPhone 仍然可以使用。
【解决方案3】:

这是一个老问题,但我在 iphone 和 ipad 的 safari 浏览器中遇到了同样的问题。我不知道相同的解决方案是否也适用于这个问题。解决方案是写 span.likeunlike 而不是 .likeunlike

this.$el.find('span.likeunlike').click(function() {
    //code here
}

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 2016-04-16
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多