【问题标题】:Question on $(document).bind()关于 $(document).bind() 的问题
【发布时间】:2011-08-10 12:19:27
【问题描述】:

我在 iPad 上有一个页面。 如何获取被触摸的特定元素而不是通用容器元素?

$(document).bind("touchstart",function(e){
console.log("touchstart on target : " + e.target.id);
}

【问题讨论】:

  • tap替换touchstart怎么样
  • 已经试过了……不行……
  • event.target 实际上应该可以工作...

标签: javascript jquery iphone ipad safari


【解决方案1】:

尝试改用delegate

$(function() {
    $(document).delegate('div', 'click', function(event) {
        alert($(this).attr('id'));

        // To prevent Propagation
        event.stopPropagation()
    });
});

在行动:http://jsfiddle.net/xem65/

(使用 click,因为我在 atm 附近没有任何触摸设备)

委托文档:http://api.jquery.com/delegate/

【讨论】:

    【解决方案2】:

    这似乎应该工作。这是一个小的test case,它根据http://gregmurray.org/ipad/touch-events.html 注销事件,它似乎识别出发生在div 上的touchstart。也许您可以发布一个失败的示例?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2012-05-26
      • 2011-01-18
      相关资源
      最近更新 更多