【问题标题】:touchstart and touchend events refering to the same element, while events done on different elementstouchstart 和 touchend 事件引用同一个元素,而事件在不同元素上完成
【发布时间】:2012-08-02 11:08:02
【问题描述】:

我的 Android 平板电脑的 Javascript 代码有问题。

假设我有几个 div 标签组成的网格。带有“盒子”类;

现在我为网格中的所有这些 div 绑定事件处理程序。

touchstart (mousedown) 事件发生时,我将光标移动到网格中的某个其他 div(不释放光标),然后在当前 div 上释放光标(touchend)。当我尝试提醒当前 div(即 touchend div)的 id 时,提醒会显示发生“touchstart”的 div 的 id。

$(".box").bind('touchstart',function () {alert($(this).attr("id"))});
$(".box").bind('touchend',function () {alert($(this).attr("id"))});

实际上,这是我为 Android 平板电脑设计的第一个程序。所以我需要帮助。

【问题讨论】:

  • 我支持这个问题。为简化起见 - 相同触摸的 touchstart 和 touchend 可以出现在不同的元素上吗?好像不能,那怎么模拟呢?

标签: javascript android dom-events


【解决方案1】:

这是意料之中的,如果它做了其他任何事情会很混乱。如果它最终所在的元素没有注册的侦听器,您将永远不会收到 touchEnd 事件。

您可以通过查看触摸的坐标属性来查看触摸的位置,并且可以使用 touchmove 跟踪它的进行过程。

【讨论】:

    【解决方案2】:

    真的没有得到你的问题。您是否正在尝试获取警报以显示鼠标按下位置的 div id?您需要将 touchstart 事件中的 id 存储在一个变量中,并在 touchend 发生时显示该值。

    【讨论】:

    • 我正在尝试获取发生 touchend 事件的 div 的 id。
    猜你喜欢
    • 1970-01-01
    • 2012-05-11
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    相关资源
    最近更新 更多