javascript - 优化触摸屏的网络界面(处理不需要的鼠标拖动等)

标签 javascript html css touchscreen visual-artifacts

我正在构建一个基于网络的小型信息亭界面,用于 7 英寸触摸屏。我不会详细介绍系统本身,但触摸屏上的浏览器是在 Ubuntu 上运行的永久全屏 Firefox。

让触摸屏正常工作后,我编写了一个带有一堆大按钮的简单测试页面。 在触摸屏上试用时,我立即注意到很多快速触摸操作都被解释为拖动鼠标。因此文本被突出显示,重影图像被拖来拖去,以及当您随机点击并拖过网页时发生的所有其他事情。

我想删除所有这些不需要的视觉效果,让页面只将按钮注册为按下状态,而忽略发生的任何拖动。我已经删除了鼠标光标本身,并用一点 CSS 阻止了页面上的文本选择:

* {
    cursor: none;
    -moz-user-select: none; /* mozilla browsers */
    -khtml-user-select: none; /* webkit browsers */
}

不过,许多有趣的事情仍在发生。我拍了一个小视频来演示:http://www.youtube.com/watch?v=4tjZ5aIG41E

这是该视频的测试页:http://www.depotstreetmarket.com/touch-test/ (警告:您的鼠标光标将在该页面上消失——抱歉)

有人有任何提示可以帮助我在使用触摸屏时使我的页面更加精美吗?我对 HTML/CSS 解决方案、Javascript 解决方案和 Firefox 配置/插件持开放态度。

编辑 - 提及我正在使用的触摸屏驱动程序可能会有所帮助 eGalaxTouch , 安装在 Ubuntu 上。

最佳答案

然而,这是我最接近阻止人们拖动、单击和选择我的 DOM 元素的方法。 Firefox 效果最好;)

.selectDisable {-webkit-user-select: none;  -khtml-user-select: none;   -moz-user-select: none; -o-user-select: none;    user-select: none; }

你可以把它应用到 body 上

其他东西 - 就像我在评论中提到的 - 你可能需要设置设备设置..鼠标设置并将点击设置为快速 - 并将拖动设置为超长。

但是在浏览器中禁用拖动效果需要一些 DOM 调整

Preventing images and text to be selected

在IE中应用这个类就足够了。在其他浏览器中,您必须制作一个不可见(透明)的覆盖 div。所以你可以点击你的东西,但 div 实际上阻止了拖动它后面的元素.. 它很奇怪.. 但它有效。帖子里有人给出了很好的答案。

关于javascript - 优化触摸屏的网络界面(处理不需要的鼠标拖动等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033310/

相关文章:

html - 动画完成后的元素偏移量

javascript - 如果没有jQuery,请创建一个“显示更多”,“显示更少”的href

javascript - 根据选项标签创建不同的表单

html - 如何设置右侧容器在它自己的位置滚动

css - 使用 CSS,有没有办法改变 SVG 的 <filter> 元素的不透明度?

html - 如何更改 HTML View 的外观?

javascript - Node.js 删除 "mongodb"的查询

javascript - 尝试了解如何将 If 语句与事件一起使用

javascript - 使用 Coffeescript 和 CodeKit 在不同文件中设置 Backbone 应用程序

html - 在 div 的一侧显示一个 ul 列表元素符号