【问题标题】:Manually trigger onmove in interact.js在interact.js中手动触发onmove
【发布时间】:2015-09-30 21:06:12
【问题描述】:

我使用 jquery 添加/删除到/从我与 interactjs 一起使用的 class="draggable" 元素集。当我添加一些具有特定位置的新元素时,例如:

<p class="draggable" data-x="100" data-y="100">

它们没有出现在正确的位置,只有在我用鼠标触摸它们一次并且调用相应的interactjs事件来更新位置之后。

如果我的对象列表如下所示,如何使用 jquery 手动触发?

$(data).each(function() {
    $(this).update() ??
}

谢谢!

【问题讨论】:

  • 我肯定需要一把小提琴来玩
  • @myfunkyside:看看jsfiddle.net/vb100h2n。有一个绝对位置的解决方法可以在某个位置强制执行它。然而,必须有一种正常的方法来设置 $(el).css() 元素的 x 和 y 坐标,然后通过调用侦听器来更新视觉位置。怎么做?
  • 在您的小提琴中,您是否已经应用了此解决方法?因为我找不到什么不起作用(请记住,我不知道这段代码,也没有使用 interactjs 的经验)。您能否在答案中插入导致问题的代码行,然后再插入您找到的解决方法,以便我(和其他所有人)确切知道问题出在哪里。 (并且请将您的小提琴更新为代码的原始状态,并带有错误,以便我们可以看到问题所在。

标签: javascript jquery interact.js


【解决方案1】:

您可能已经解决了这个问题,但由于我遇到了同样的问题,所以我可能会在这里写下我的解决方案。添加 CSS 转换有帮助,如下所示:

<p class="draggable" data-x="100" data-y="100" style="transform: translate(100px, 100px); -webkit-transform: translate(100px, 100px);">

元素现在应该出现在正确的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多