当前位置: 首页 > 面试题库 >

用于触摸设备的Javascript拖放

侯博裕
2023-03-14
问题内容

我正在寻找可在触摸设备上使用的拖放插件。

我想要与允许“可放置”元素的jQuery UI插件类似的功能。

该插件jqtouch支持拖动操作,但没有落下。

这是仅支持iPhone / iPad的拖放操作。

谁能指出我在适用于android / ios的拖放插件的方向?

…或者可能会更新jqtouch插件以实现可投放性,它已经在Andriod和IOS上运行。

谢谢!


问题答案:

您可以使用JqueryUI进行拖放,并使用一个额外的库来将鼠标事件转换为您需要的触摸,我建议使用的库为/furf/jquery-ui-touch-punch,这从Jquery UI拖放到触摸装置

或者您可以使用我正在使用的这段代码,它也可以将鼠标事件转换为触摸事件,并且就像魔术一样工作。

function touchHandler(event) {
    var touch = event.changedTouches[0];

    var simulatedEvent = document.createEvent("MouseEvent");
        simulatedEvent.initMouseEvent({
        touchstart: "mousedown",
        touchmove: "mousemove",
        touchend: "mouseup"
    }[event.type], true, true, window, 1,
        touch.screenX, touch.screenY,
        touch.clientX, touch.clientY, false,
        false, false, false, 0, null);

    touch.target.dispatchEvent(simulatedEvent);
    event.preventDefault();
}

function init() {
    document.addEventListener("touchstart", touchHandler, true);
    document.addEventListener("touchmove", touchHandler, true);
    document.addEventListener("touchend", touchHandler, true);
    document.addEventListener("touchcancel", touchHandler, true);
}

在您的document.ready中,只需调用init()函数



 类似资料:
  • 本文向大家介绍如何在触摸设备上使用JavaScript拖放?,包括了如何在触摸设备上使用JavaScript拖放?的使用技巧和注意事项,需要的朋友参考一下 对于触摸式设备的JavaScript拖放,可以使用jQuery UI Touch Punch或拖放式Touch。  许多不同的事件可用于成功执行拖放操作, 有许多不同的事件需要附加,以监视整个拖放过程- 拖动开始 拖动 德拉贡特 拖曳 拖曳 下

  • 问题内容: 在Javascript / jQuery中,如何检测客户端设备是否有鼠标? 我有一个网站,当用户将鼠标悬停在某个项目上时,该网站会在信息面板上向上滑动。我正在使用jQuery.hoverIntent来检测悬停,但这显然不适用于iPhone/ iPad / Android等触摸屏设备。因此,在这些设备上,我想还原为点按以显示信息面板。 问题答案: +1,两者兼而有之。另一种方法是使用CS

  • 问题内容: 我有一个使用jquery的子导航-用户单击顶层列表项,例如触发下拉菜单的“服务”。通过单击“服务”链接可以切换下拉菜单。我做到了,以便用户可以单击屏幕上的任意位置以将下拉列表切换到关闭状态。但是,由于该站点具有响应能力,因此我希望用户能够单击(触摸)屏幕上的任何位置以关闭下拉菜单,但是我的问题是它无法在触摸设备上正常工作。 我的文档单击代码设置为: 我假设document.click可

  • 问题内容: 我已经编写了一个可在台式机和移动设备上使用的jQuery插件。我想知道JavaScript是否可以检测设备是否具有触摸屏功能。我正在使用jquery- mobile.js来检测触摸屏事件,它可以在iOS,Android等系统上运行,但我也想根据用户设备是否具有触摸屏来编写条件语句。 那可能吗? 问题答案: 更新: 在将整个功能检测库引入项目之前,请阅读下面的blmstr答案。检测实际的

  • 问题内容: 在iPhone / iPad / Android等触摸设备上,可能很难用手指按一下小按钮。据我所知,没有跨浏览器的方法可以通过CSS媒体查询来检测触摸设备。因此,我检查浏览器是否支持Javascript触摸事件。 到目前为止,其他浏览器还不支持它们,但是开发人员频道上的最新Google Chrome浏览器 启用了触摸事件(即使对于非触摸设备也是如此)。而且我怀疑其他浏览器制造商也会效仿

  • 我有一个imagebutton当它被点击时不会响应触摸动画,因为它是一个静态图像,不像Lollipop上的常规按钮,这些按钮内置了涟漪效果。我想添加材料设计波纹触摸效果到图像,但似乎找不到一种方法来实现它。我可以在图像上设置滤色器,但这不是涟漪效应。我尝试做的一个例子是,当你在Google Play Music中持有一张专辑封面图像时,一个阴影涟漪在图像上移动。