以前做过一些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手机上测试过,想法是行得通的。
分享到:
相关推荐
在Unity游戏引擎中,实现3D物体跟随鼠标或手指移动是一项常见的交互功能,尤其是在开发2.5D或3D的桌面或移动端游戏中。这个功能可以让玩家通过点击并拖动物体来改变其位置,提高游戏的沉浸感和用户体验。下面我们将...
在Unity游戏引擎中,实现相机跟随鼠标或手指移动是一种常见的需求,这通常用于创建可交互的小地图或自由视角。在本教程中,我们将探讨如何利用C#编程语言来完成这一功能。 首先,我们需要创建一个C#脚本,名为`...
描述中的内容进一步强调了鼠标连点器的主要功能,即自动执行鼠标点击,特别是在游戏中用于角色属性加点等重复操作。在许多游戏中,玩家可能需要不断点击以提升角色能力或进行某种动作,这可能会导致手部不适。鼠标...
拖放(Drag and Drop)是用户交互的一种常见方式,允许用户通过鼠标将一个元素从一处拖动到另一处。在jQuery中,可以使用`.draggable()`和`.droppable()`这两个插件来实现这一功能。首先,我们需要理解这两个方法的...
在本文中,我们将深入探讨如何在Qt环境中实现图片的交互功能,包括鼠标滚轮放缩、拖拽以及选点操作。这些功能对于开发图形界面应用,尤其是图像处理或查看类应用至关重要。首先,我们来看看标题和描述提供的信息,...
在LabVIEW编程环境中,"labview鼠标拖动移动"是一个常见的交互式功能,它涉及到图形用户界面(GUI)的设计和事件处理。LabVIEW是美国国家仪器公司开发的一种基于图标和连线的编程语言,广泛用于测试、测量和控制系统...
在JavaScript前端开发中,鼠标拖动事件是一种常见的交互方式,让用户能够通过鼠标操作元素在页面上移动。这个实例主要涉及的关键词是“js”(JavaScript)、“ASP”(尽管在这个上下文中并不直接相关,但可能是用户...
本教程将详细讲解如何实现一个功能,即通过鼠标拖拽dataGridView中的数据到textBox中显示。这个功能对于数据的快速查看和编辑非常有用,尤其在处理大量表格数据时能提升工作效率。 首先,我们需要为dataGridView...
在C#编程中,实现鼠标拖动控件是一项常见的任务,尤其在开发用户界面时,让用户能够通过鼠标自由调整控件的位置,可以提高应用的交互性和用户体验。本资源"**C#335-鼠标拖动控件+源代码**"提供了一种实现方式,下面...
在这个特定的案例中,我们关注的是如何在ArcGIS Engine 10.2.2版本中实现鼠标中键拖动平移地图的功能。这一功能的实现对于提升用户的交互体验至关重要,特别是在需要频繁调整地图视角的场景下,如同CAD(计算机辅助...
基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-鼠标拖拽功能.zip 基于java的开发源码-...
在本文中,我们将深入探讨基于AS2.0的Flash编程技术,主要关注“点击-->放大-->拖动”这一交互功能的实现。AS2.0(ActionScript 2.0)是Adobe Flash Player支持的一种脚本语言,用于创建交互式、动画和富媒体内容。...
"鼠标关节"是这个项目的核心,它允许用户通过鼠标来操作场景中的物体,就像在现实生活中用手指拖动物体一样。"拖拽Body"则暗示了我们可以通过鼠标与场景中的刚体(Body)进行交互,可能是为了创建一种更加直观的控制...
在Windows平台上进行Qt界面开发时,常常需要实现用户交互丰富的功能,例如允许用户通过鼠标拖拽来调整列表中项目的顺序。QListWidget是Qt库中一个常用的控件,用于显示可单选或多选的列表项。本篇将详细介绍如何在...
在 "easyui-鼠标拖动效果" 这个主题中,我们主要探讨的是如何利用 EasyUI 实现元素的拖放(Drag and Drop)功能。 拖放功能在用户交互中非常常见,例如在文件管理器中移动文件或在日历应用中调整事件时间。在 ...
"鼠标拖动调整table列宽实例" 是一种增强表格功能的常见技术,特别是在数据展示和分析的场景中。这个实例利用JavaScript实现,允许用户通过简单的鼠标操作来动态调整表格列的宽度,从而更好地查看和理解数据。 ...
在Java编程语言中,实现鼠标拖拽功能是创建交互式用户界面的重要部分。这个压缩包“Java鼠标拖拽功能.rar”很可能包含了一些示例代码或教程,帮助开发者了解如何在Java Swing或JavaFX中实现这一功能。下面我们将详细...
【朱建强】的这个项目主要涉及到了Delphi编程中的一个独特效果——“鼠标拖动虚影效果”。在本文中,我们将深入探讨这个技术及其在实际应用中的价值。 Delphi是一款强大的Windows应用程序开发工具,基于Object ...
在Java编程语言中,实现鼠标拖拽功能是GUI(图形用户界面)开发中常见的需求,尤其是在构建桌面应用程序时。这个“基于Java的实例源码-鼠标拖拽功能.zip”文件很可能是提供了一个简单的示例,教你如何在Java Swing或...
在网页设计和开发中,鼠标拖拽功能是一个重要的交互元素,它可以增强用户的操作体验,使得用户能够更加直观、便捷地对页面元素进行调整。本文将深入探讨“鼠标拖拽页面布局”这一技术,并通过实际应用案例来阐述其...