【发布时间】:2012-07-28 14:12:57
【问题描述】:
我正在使用https://github.com/furf/jquery-ui-touch-punch 来映射触摸事件。 jQuery UI droppable 具有以下代码,其中自动传递事件和 ui 对象。我想编写一个自定义处理程序,我可以将相同的对象传递给它。有人能建议我如何在 IPAD 上的 touchend 事件中获取 ui 对象的引用吗?这样我就可以对桌面和 IPAD 使用相同的拖放功能。
drop: function(event, ui) {
dropFunction(event, ui);
}
在 touchend 事件上我可以调用 dropFunction(event,ui)
附加信息:
我正在尝试实现从表格行拖放到 jstree。如果我只使用 Touch Punch 而不进行修改,我也可以进行拖放操作。当我使用以下代码读取值时,它适用于桌面浏览器,但不适用于 IPAD。
var newOrgId = $('#ohTreeDiv .jstree-hovered').find('span:last').text()
当使用桌面浏览器时,jstree-hovered 类会自动添加到悬停节点,但是这不会添加到 Ipad 上,所以我在 touchend 方法中手动添加这个类。在这一步之后,我什至添加了悬停类。当 touchend 发生时,看起来 drop 没有被调用。
在 jstree 的目标节点上拖动元素后,我必须点击它才能触发放置。 @FrédéricHamidi
【问题讨论】:
-
恐怕我不明白你的问题:Touch Punch 将触摸事件转换为鼠标事件,
touchend将转换为相应的事件,因此触发了drop。你不应该添加任何东西来工作。你能详细说明你想要达到的目标吗? -
有时,当我们清楚地说明问题时,解决方案就会对我们产生影响。谢谢弗雷德里克让我有点摇晃!!现在可以工作了。我正在为我的问题更新解决方案。 @FrédéricHamidi
标签: ipad jquery-ui jquery-ui-draggable