iPad Safari 将鼠标事件映射到图像映射中的触摸事件

2024-01-17

我的网站广泛使用图像地图。这些图像是中世纪手稿的页面。 AREA 标签的 mouseOver 事件附加了一个工具提示,它显示了鼠标悬停在其上的行的古代文字的现代印刷转录。

我刚刚在苹果商店的 iPad 上查看了我的网站。 iPad 在很多方面使用起来都很有趣,但是,我想知道 Apple 将鼠标事件映射到手指触摸事件的情况。苹果这样做可能有充分的理由,但他们的选择对我来说似乎违反直觉且过于复杂。

具体来说,iPad Safari 浏览器显然以不同的方式响应 FingerDown 和 FingerTap。当我点击图像映射的某个区域时,会显示连接到 AREA 标记的鼠标悬停事件的工具提示,并且在我点击其他位置之前一直保持可见。当我将手指放在图像映射的某个区域上时,该区域的颜色发生了变化。因此,如果 iPad Safari 检测到 mouseOver 事件处理程序,它会在 click|tap 上执行 mouseOver 代码,并且显然会阻止“click”事件传播,因此,如果您也有某些内容连接到 click 事件,那么它就不起作用?是对的吗?

但更重要的是,为什么 FingerDown 不是 iPad-Safari 中 mouseOver 的对应项?在映射 mouseOver 事件时,FingerDown 似乎比 Tap 更有可能。我本希望事情能以这种方式映射:

 MouseClick : FingerTap (i.e. finger down and then immediately up)
 MouseOver : FingerDown (finger down and stays on the spot)

如果Apple将fingerDown视为mouseOver的对应物,那么工具提示可以在FingerDown上显示,并在fingerUp上再次变得不可见,这将是mouseOut的对应物。

也许有人可以启发我了解导致 Apple 实现这些特定的鼠标触摸事件映射的思维过程? 谢谢


我一直在专门研究 iPad 何时触发“鼠标悬停”事件与“点击”事件。当用户点击页面上的任意位置时,iPad 首先会触发“鼠标悬停”事件,就好像用户刚刚将鼠标光标放在该位置一样。它还会在最后一个获得焦点的元素上触发“鼠标悬停”事件。然后,据我所知,浏览器会检查 DOM 是否因“mouseover”事件回调而发生任何更改。

如果 DOM 发生更改,浏览器不会触发“单击”事件。如果用户第二次点击同一元素,浏览器会触发“单击”事件,但不会触发另一个“鼠标悬停”事件。

另一方面,如果用户第一次点击某个元素并且“mouseover”事件完成后 DOM 没有更改,则浏览器将触发“click”事件,而无需等待第二次点击。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPad Safari 将鼠标事件映射到图像映射中的触摸事件 的相关文章

  • AVCaptureSession 具有多个方向问题

    我正在尝试实现条形码扫描仪 我有一个 AVCaptureSession 它从 AVCaptureDevice 接收视频 我想支持所有方向 使用以下代码 当我运行应用程序时 纵向一切正常 然而 在横向方向上 视图会旋转 但视频输入不会旋转 所
  • Weld 中的 JavaEE CDI:通用事件?

    我有一个基于泛型的特定事件处理的想法 但似乎 Weld 无法处理它们 我询问了 google 但找不到替代的 CDI 扩展 Question 是否有 CDI 扩展可以处理通用类型事件的事件传播 下面是我遇到的明确问题 我有三个常规事件 En
  • 如何在 Jquery/Javascript 中绑定模糊和更改,但只触发一次函数?

    我试图在选择元素更改时触发函数 由于 Ipad 在 on change 方面遇到问题 我还想绑定到 blur 这在 Ipad 上工作得很好 但是我不希望两个事件都触发该函数两次 所以我需要某种挂钩来确保两个事件是否都触发change and
  • 用于 C++ 数据复制的 Boost::Signals

    最近我有一堂课看起来像 class IGraphElement typedef void FuncCharPtr char int public void Add FuncCharPtr f FuncVec push back f void
  • ViewWillAppear 没有被 UISplitViewController 调用

    背景和目标 我有一个基于 UISplitViewController 的 iPad 应用程序 到目前为止它支持 4 个方向 但现在我想将其锁定为仅横向 我变了shouldAutorotateToInterfaceOrientation左视图
  • 单击时显示 Foundation 5 工具提示

    我在跨度上有一个通过基础 5 的工具提示 如下所示 span class has tip tip top title My tool tip i class fi pricetag multiple size 21 i span 这很好用
  • ipad safari 中的高分辨率 PNG 文件

    我有一些 asp net 站点 显示从高分辨率 tiff 文件转换而来的 png 图像 图像通过简单的 img 标签显示 问题是 wneh png 的分辨率很大 它在 ipad 的 safari 浏览器中无法正确显示 但大多数 png 文件
  • 如何从基类捕获点击项目(位于模板中)的事件?

    我有一个基础网格
  • Facebook iOS SDK:登录 Facebook 时无需总是询问应用程序的权限

    我在我的应用程序中使用 Facebook iOS SDK 我有两个类似的问题 有没有办法知道当前是否有用户登录 我现在使用的是在成功登录时存储访问令牌和到期日期 并在应用程序启动时加载它们 我的问题是 如果会话无效 我可以为用户提供登录选项
  • iOS Safari 通过单击按钮触发扫描信用卡

    您好 我目前正在创建一个测试应用程序 当用户单击文本字段名称或卡号时 扫描信用卡功能对我有用 我的问题是 我希望当用户单击 button1 时发生同样的情况 这应该打开相机来扫描卡并填充现有的文本字段 即名称 卡号和到期日期 额外的好处是
  • CSS Overflow 属性在 iPad 中不起作用

    我正在为 iPad 设计一些 html 页面 在尝试像 yscroll auto 这样的 css 溢出属性时 iPad 中没有出现滚动条 内容也没有滚动 我在 ipad 模拟器和设备中尝试过 有没有其他方法可以实现这个属性 请帮帮我 提前致
  • 在 C# 中引发事件[重复]

    这个问题在这里已经有答案了 我在微软练习测试中遇到了这个问题 我很困惑 这是问题 以下哪个 C 代码示例 是引发事件的正确方式 假设警报事件 AlarmEventArgs 类 以及 AlarmEventHandler 委托已 宣布 这是他们
  • jQuery如何让Enter(Return)通过输入文本字段充当Tab键但最终触发提交按钮

    我已经屏蔽了 Enter 返回 键 实际上 将其转换为 Tab 键 因此 当在输入文本字段内按下时 它充当 Tab 键 这很好 但我需要它在最后一个字段中按下时触发提交按钮 下面是 Enter 键突变的代码 input keydown fu
  • c# 从另一个类中的另一个静态事件引发事件

    需要帮助从另一个班级调用事件 我有已声明事件的课程 public class MxPBaseGridView GridView public event AddNewItemsToPopUpMenuEventHandler AddNewIt
  • Magento 从 Observer 重定向始终有效

    我无法从观察者在 Magento 中创建工作重定向 据我所知 有很多事件都获得了响应对象 在 observer目的 另一种方法是使用类似的东西 Mage app gt getResponse gt setRedirect Mage getU
  • C#:将对象添加到队列时触发事件

    每当一个对象被添加到一个对象时 我需要能够触发一个事件Queue
  • Safari 扩展将消息发送到特定选项卡

    有没有办法从全局页面发送消息到特定选项卡 我目前正在做的是 在创建选项卡时 注入的脚本会创建一个唯一的 ID 并将包含该编号的消息发送到全局页面 并且全局页面会保存该编号 如果全局页面需要发送一些数据到一个tab 即 tab 3 然后全局页
  • 为什么这个 JavaScript 可以在 Safari 上运行,但不能在 Firefox 上运行?

    我有 HTML 文件 我在 Safari 上尝试了该代码 运行良好 但是当我在 Firefox 上尝试这个时 它不起作用 任何人都可以建议如何使其在 Firefox 上工作吗 单击撤消按钮时 我想从 jsp 文件中检索内容 当我在 mac
  • 使用远程数据编写 Android、iPad、iPhone 客户端的技术

    我需要探索世界 你写了一个杀手级应用程序 但你有 Android iPhone iPad 客户端吗 我的问题是 1 向这些设备发送数据的最佳方式是什么 按照建议进行肥皂和休息here https stackoverflow com ques
  • 跨浏览器相当于explicitOriginalTarget事件参数

    有谁知道跨浏览器等价于explicitOriginalTarget事件参数 该参数是 Mozilla 特定的 它为我提供了导致模糊的元素 假设我的页面上有一个文本输入和一个链接 文本输入具有焦点 如果我点击链接 文本输入的模糊事件会通过ex

随机推荐

  • 实体框架一对多插入 - 外键违规

    我是第一次使用实体框架 并且尝试使用集合创建一个对象 并且我希望集合中的所有对象也都在数据库中创建 但我遇到了一些外键违规 我的样本表 table APPOINTMENTS ID VAR1 DATE APPOINTMENT table GU
  • 如何在 Android 应用程序中从 Web 服务器获取数据? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在 Android 应用程序中从
  • Django - 将模型代码与数据库进行比较

    我维护一个 Django 项目 其中的数据库有几个与实际数据库不同步的模型约束 因此 例如 某些模型字段设置了 null False 但数据库允许相应的数据库列为 NULL 我很好奇 Django 或第三方 Python 脚本中是否有一个实
  • 如何为操作项(包括溢出菜单)的弹出窗口设置自定义颜色?

    背景 我正在努力为应用程序添加一些材料设计风格 因此我为操作栏和状态栏选择了不同的颜色 问题 为此 应用程序的主题是 Theme AppCompat Light DarkActionBar 并添加此主题以隐藏操作栏 因为我需要将其作为工具栏
  • 如何通过 Google Contacts API 创建新联系人?

    我正在创建一个新联系人 如中所述谷歌通讯录 API https developers google com google apps contacts v3 具体来说 我做了一个POST to https www google com m8
  • BigQuery - 从分区表中删除行

    我在 BigQuery 上有一个按日分区的表 当我尝试使用如下查询从表中删除某些行时 DELETE FROM MY DATASET partitioned table WHERE id 2374180 我收到以下错误 错误 分区表尚不支持
  • 需要在 Visual Studio 2010 中进行高效调试

    我经常使用Debug gt Exceptions gt check CLR Exceptions在调试会话期间 有时 会抛出并处理异常 但我真的想找到异常的来源 为了在不看到我不关心的第一次异常的情况下执行此操作 我启动我的应用程序 然后检
  • 使用 HTTPS 代替 HTTP

    我有一个用户必须登录的网站 我想使用 HTTPS 因此与服务器建立安全加密连接以检查用户名和密码 目前在我的服务器上我有一个名为 httpdocs 的文件夹 这是我的网站的存储位置 我还有一个名为 httpsdocs 的文件夹 现在正如我所
  • MongoDB updateMany,动态过滤字段

    使用 updateMany filter update option 时 如何为每个文档设置动态过滤字段 我有一系列这样的文档 time 1 data time 2 data time 3 data 每个都有一个唯一的时间戳 如果时间戳已经
  • 从另一个Java程序编译并运行Java程序[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 使用 CompileAndRun 类 我现在可以编译并运行我的 HelloWorld 类 现在我想用它来运行一个需要用户输入的程序 这可以是
  • 了解 MongoDB Aggregate 和 GroupBy

    我正在尝试在 MongoDB 中执行查询 首先按 id 进行分组 然后按降序排序 我这里有一个函数式 LINQ 表达式 var list this GetPackages ToList list list OrderByDescending
  • 为什么在使用自定义元素时会出现内部 Dartium 异常?

    我在控制台中看到此错误 Exception InvalidStateError Internal Dartium Exception PolymerDeclaration registerType package polymer src d
  • Maven:附加多个工件

    我有一个 Maven 项目 它使用一些自定义 jar 在任何存储库中都找不到 为了将它们与 Maven 构建一起添加 我在 Maven 中使用 Attach artifact 目标 以下是我的 pom 文件
  • 如何漂亮地打印 Golang 结构? [复制]

    这个问题在这里已经有答案了 我正在解组一个结构 我希望它以格式化的方式打印它 我的代码 https play golang org p D0KwGP6Cxa0 https play golang org p D0KwGP6Cxa0 当前产生
  • 宁静的API服务

    我正在寻找一项服务 可以用来调用基于 Web 的 REST API 基本上我想在 app init 上启动一个服务 然后我希望能够要求该服务请求一个 url 并返回结果 与此同时 我希望能够显示进度窗口或类似的东西 我目前已经创建了一个使用
  • 用酶测试连接的组件

    我正在学习采取本次测试课程 https www udemy com react testing with jest and enzyme 通过设置来测试连接的组件store factory测试助手 创建一个与我们商店的配置相匹配的测试商店
  • 如何向 javascript 类添加回调函数?

    javascript 中的以下代码给了我错误 this callback 不是一个函数 function ajaxRequest var httpObject this open open this callback function fu
  • elasticsearch允许具有不同身体数据的重复ID

    我目前正在尝试将我们的 elasticsearch 数据迁移到 2 0 兼容 即 字段名称中没有点 为从 1 x 升级到 2 x 做准备 我编写了一个程序 它 批量 运行位于单节点集群中的数据 并重命名字段 使用批量 API 重新索引文档
  • 获取 .NET Core JSON Body 作为动态对象

    我的 ASP NET Core 端点接受 JSON 形式作为其输入 并调用需要动态参数的方法 我试图像这样调用该方法 HttpPost public IActionResult InitializeAction FromBody dynam
  • iPad Safari 将鼠标事件映射到图像映射中的触摸事件

    我的网站广泛使用图像地图 这些图像是中世纪手稿的页面 AREA 标签的 mouseOver 事件附加了一个工具提示 它显示了鼠标悬停在其上的行的古代文字的现代印刷转录 我刚刚在苹果商店的 iPad 上查看了我的网站 iPad 在很多方面使用