`
lackhurt
  • 浏览: 6881 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从鼠标到手指-传统拖拽在ipad中

阅读更多

以前做过一些UI组件,支持一些拖拖拽拽的。最近搞到个ipad,老的组件到了这些手持设备上自然是拖不走,拽不动了。后来想到一个方法,用touch的事件模拟鼠标的操作,也就是用touch的响应事件触发鼠标事件。话不多说,上代码,请大家拍砖

function isTouchDevice() {
  return 'ontouchstart' in window;
}

function fitTouchDevice() {
  if (!isTouchDevice()) {
    return;
  }
  function simMouseEvt(type, target, pos) {
    var evt = document.createEvent('MouseEvents');
    evt.initMouseEvent(type, true, true, document, 
        0, pos.screenX, pos.screenY, pos.clientX, pos.clientY, 
        false, false, false, false, 
        0, target);
    return target.dispatchEvent(evt);
  }
  
  document.addEventListener("touchstart", function(e) {
    simMouseEvt("mousedown", e.target, e.changedTouches[0]) || e.preventDefault();
  });
  document.addEventListener("touchmove", function(e) {
    simMouseEvt("mousemove", e.target, e.changedTouches[0]) || e.preventDefault();
  });
  document.addEventListener("touchend", function(e) {
    simMouseEvt("mouseup", e.target, e.changedTouches[0]) || e.preventDefault();
    simMouseEvt("click", e.target, e.changedTouches[0]);
  });
}

 目前只在ipad和android手机上测试过,想法是行得通的。

 

分享到:
评论
1 楼 lch_wyl 2013-06-27  
,使用了非常管用,感谢了!

相关推荐

    Unity 拖动3d物体跟随鼠标(手指)移动

    在Unity游戏引擎中,实现3D物体跟随鼠标或手指移动是一项常见的交互功能,尤其是在开发2.5D或3D的桌面或移动端游戏中。这个功能可以让玩家通过点击并拖动物体来改变其位置,提高游戏的沉浸感和用户体验。下面我们将...

    Unity 拖动相机跟随鼠标(手指)移动(例如移动小地图)

    在Unity游戏引擎中,实现相机跟随鼠标或手指移动是一种常见的需求,这通常用于创建可交互的小地图或自由视角。在本教程中,我们将探讨如何利用C#编程语言来完成这一功能。 首先,我们需要创建一个C#脚本,名为`...

    鼠标连点器-游戏鼠标连点器-办公鼠标连点器.rar

    描述中的内容进一步强调了鼠标连点器的主要功能,即自动执行鼠标点击,特别是在游戏中用于角色属性加点等重复操作。在许多游戏中,玩家可能需要不断点击以提升角色能力或进行某种动作,这可能会导致手部不适。鼠标...

    JQuery拖放,拖拽到指定的位置,拖拽元素,鼠标拖动

    拖放(Drag and Drop)是用户交互的一种常见方式,允许用户通过鼠标将一个元素从一处拖动到另一处。在jQuery中,可以使用`.draggable()`和`.droppable()`这两个插件来实现这一功能。首先,我们需要理解这两个方法的...

    Qt 图片交互-鼠标滚轮放缩、拖拽、选点

    在本文中,我们将深入探讨如何在Qt环境中实现图片的交互功能,包括鼠标滚轮放缩、拖拽以及选点操作。这些功能对于开发图形界面应用,尤其是图像处理或查看类应用至关重要。首先,我们来看看标题和描述提供的信息,...

    labview鼠标拖动移动

    在LabVIEW编程环境中,"labview鼠标拖动移动"是一个常见的交互式功能,它涉及到图形用户界面(GUI)的设计和事件处理。LabVIEW是美国国家仪器公司开发的一种基于图标和连线的编程语言,广泛用于测试、测量和控制系统...

    js 前端鼠标拖动事件实例

    在JavaScript前端开发中,鼠标拖动事件是一种常见的交互方式,让用户能够通过鼠标操作元素在页面上移动。这个实例主要涉及的关键词是“js”(JavaScript)、“ASP”(尽管在这个上下文中并不直接相关,但可能是用户...

    c# winform dataGridView鼠标拖拽到textBox里显示数据,鼠标拖动

    本教程将详细讲解如何实现一个功能,即通过鼠标拖拽dataGridView中的数据到textBox中显示。这个功能对于数据的快速查看和编辑非常有用,尤其在处理大量表格数据时能提升工作效率。 首先,我们需要为dataGridView...

    C#335-鼠标拖动控件+源代码

    在C#编程中,实现鼠标拖动控件是一项常见的任务,尤其在开发用户界面时,让用户能够通过鼠标自由调整控件的位置,可以提高应用的交互性和用户体验。本资源"**C#335-鼠标拖动控件+源代码**"提供了一种实现方式,下面...

    arcgis engine 鼠标中键拖动平移地图(AE10.2.2)

    在这个特定的案例中,我们关注的是如何在ArcGIS Engine 10.2.2版本中实现鼠标中键拖动平移地图的功能。这一功能的实现对于提升用户的交互体验至关重要,特别是在需要频繁调整地图视角的场景下,如同CAD(计算机辅助...

    基于java的开发源码-鼠标拖拽功能.zip

    基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-...

    flash as2.0 源码 点击-->放大-->拖动

    在本文中,我们将深入探讨基于AS2.0的Flash编程技术,主要关注“点击-->放大-->拖动”这一交互功能的实现。AS2.0(ActionScript 2.0)是Adobe Flash Player支持的一种脚本语言,用于创建交互式、动画和富媒体内容。...

    7-13-6(鼠标关节-拖拽Body).zip

    "鼠标关节"是这个项目的核心,它允许用户通过鼠标来操作场景中的物体,就像在现实生活中用手指拖动物体一样。"拖拽Body"则暗示了我们可以通过鼠标与场景中的刚体(Body)进行交互,可能是为了创建一种更加直观的控制...

    Qt控件QListWidget实现鼠标拖拽Item换序

    在Windows平台上进行Qt界面开发时,常常需要实现用户交互丰富的功能,例如允许用户通过鼠标拖拽来调整列表中项目的顺序。QListWidget是Qt库中一个常用的控件,用于显示可单选或多选的列表项。本篇将详细介绍如何在...

    easyui-鼠标拖动效果

    在 "easyui-鼠标拖动效果" 这个主题中,我们主要探讨的是如何利用 EasyUI 实现元素的拖放(Drag and Drop)功能。 拖放功能在用户交互中非常常见,例如在文件管理器中移动文件或在日历应用中调整事件时间。在 ...

    鼠标拖动调整table列宽实例

    "鼠标拖动调整table列宽实例" 是一种增强表格功能的常见技术,特别是在数据展示和分析的场景中。这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 ...

    Java鼠标拖拽功能.rar

    在Java编程语言中,实现鼠标拖拽功能是创建交互式用户界面的重要部分。这个压缩包“Java鼠标拖拽功能.rar”很可能包含了一些示例代码或教程,帮助开发者了解如何在Java Swing或JavaFX中实现这一功能。下面我们将详细...

    鼠标拖动虚影效果

    【朱建强】的这个项目主要涉及到了Delphi编程中的一个独特效果——“鼠标拖动虚影效果”。在本文中,我们将深入探讨这个技术及其在实际应用中的价值。 Delphi是一款强大的Windows应用程序开发工具,基于Object ...

    基于Java的实例源码-鼠标拖拽功能.zip

    在Java编程语言中,实现鼠标拖拽功能是GUI(图形用户界面)开发中常见的需求,尤其是在构建桌面应用程序时。这个“基于Java的实例源码-鼠标拖拽功能.zip”文件很可能是提供了一个简单的示例,教你如何在Java Swing或...

    鼠标拖拽页面布局,鼠标拖拽

    在网页设计和开发中,鼠标拖拽功能是一个重要的交互元素,它可以增强用户的操作体验,使得用户能够更加直观、便捷地对页面元素进行调整。本文将深入探讨“鼠标拖拽页面布局”这一技术,并通过实际应用案例来阐述其...

Global site tag (gtag.js) - Google Analytics