1

我在动态生成的跨度上使用“on”事件,如下所示:

$("body").on("click", "span", function(e){
    alert('clicked');
});

它工作得很好。然后我在移动设备上对其进行了测试(目前仅适用于 iOS),但它似乎无法正常工作!!

我在想也许是“点击”未被识别为点击,或者可能是 CSS 错误不会让点击发生,所以我尝试将正常的 javascript 事件附加到其中一个跨度,如下所示:

<span onclick="alert('hello');">hello</span>

但这一次,它奏效了!

有人有线索吗?

4

3 回答 3

1

需要安装 jquery mobile 并附加“vclick”事件。

您还需要删除“点击”事件,否则它将被调用两次。

代码示例:

$("body").on("vclick", "span", function (e){
    //your function here
});
于 2012-07-15T16:18:16.347 回答
0

这应该可以正常工作,所以也许你有一些其他代码把它搞砸了。

您也可以尝试像这样绑定到触摸:

$("body").on("click touch", "span", function(e){
    alert('clicked');
});

虽然,它不应该有任何区别。

于 2012-07-14T09:48:47.327 回答
-1

您需要绑定touchstart事件:

$('span').bind( "touchstart", function(e)
  {
    // Clicked Span
   });
于 2012-07-14T09:55:59.807 回答