Questions tagged «touch»

基于触摸的界面具有独特的考虑因素,不适用于其他输入模式,反之亦然。

17
在移动浏览器上禁用悬停效果
我正在编写一个打算同时在台式机和平板电脑上使用的网站。当从桌面上访问它时,我希望屏幕的可单击区域以各种:hover效果(不同的背景色等)亮起。使用平板电脑时,没有鼠标,所以我不希望任何悬停效果。 问题是,当我在平板电脑上点击某物时,浏览器显然具有某种“隐形鼠标光标”,它会移动到我点击的位置,然后将其留在那儿-所以我刚刚点击的东西会亮起悬停效果,直到我点击其他东西。 使用鼠标时如何获得悬停效果,而使用触摸屏时如何抑制它们? 万一有人在想建议,我不想使用用户代理嗅探。同一台设备可能同时具有触摸屏和鼠标(今天可能不那么普遍,但将来会越来越多)。我对设备不感兴趣,对当前使用方式不感兴趣:鼠标或触摸屏。 我已经尝试挂钩touchstart,touchmove和touchend事件,并呼吁preventDefault()对所有的人,这确实抑制“隐形鼠标”的一些时间; 但是,如果我在两个不同的元素之间快速来回轻按,轻按几下,它将开始移动“鼠标光标”并preventDefault始终照亮悬停效果-好像我并不总是很荣幸。除非有必要,否则我不会为您提供任何细节-我什至不确定这是否是正确的方法。如果有人有一个更简单的解决方法,我将不知所措。 编辑:可以使用bog-standard CSS复制:hover,但这是一个快速的复制参考。 <style> .box { border: 1px solid black; width: 150px; height: 150px; } .box:hover { background: blue; } </style> <div class="box"></div> <div class="box"></div> 如果将鼠标悬停在任何一个框上,它将获得蓝色的背景,这是我想要的。但是,如果您点击其中任何一个框,它也会显示蓝色背景,这是我要防止的事情。 我还在此处发布了一个示例,该示例执行了上述操作,并且还挂钩了jQuery的鼠标事件。您可以使用它来查看点击事件也会触发mouseenter,mousemove并且mouseleave。
113 javascript  hover  touch 


6
从Android中的事件处理方法返回的布尔值的含义是什么
在android中,大多数事件侦听器方法都返回布尔值。正确/错误值是什么意思?这将导致子序列事件吗? class MyTouchListener implements OnTouchListener { @Override public boolean onTouch(View v, MotionEvent event) { logView.showEvent(event); return true; } } 对于上面的示例,如果在onTouch方法中返回true ,我发现根据我的logView捕获了每个触摸事件(DOWN,UP,MOVE等)。相反,如果返回false,则首先捕获DOWN事件。因此,似乎return false将阻止事件传播。我对么 ? 此外,在OnGestureListener中,许多方法也必须返回布尔值。它们具有相同的含义吗?

5
'touchstart'事件是否与e.PageX位置等效?
我正在尝试与live函数一起使用的touchstart事件的jQuery获得X位置? 即 $('#box').live('touchstart', function(e) { var xPos = e.PageX; } ); 现在,这确实可以将“ click”作为事件。到底如何(不使用Alpha jQuery Mobile)通过触摸事件获取它? 有任何想法吗? 谢谢你的帮助。

18
激活元素后如何获取indexpath.row?
我有一个带有按钮的表格视图,当我点击其中一个按钮时,我想使用indexpath.row。这是我目前拥有的,但始终为0 var point = Int() func buttonPressed(sender: AnyObject) { let pointInTable: CGPoint = sender.convertPoint(sender.bounds.origin, toView: self.tableView) let cellIndexPath = self.tableView.indexPathForRowAtPoint(pointInTable) println(cellIndexPath) point = cellIndexPath!.row println(point) }

2
jQuery UI滑块在移动设备上的触摸和拖动/拖放支持
我已经将jQuery UI滑块样式化并实现到一个项目中。尽管它是响应式的,但滑块不会响应被触摸和拖动的情况。取而代之的是,您必须触摸滑块要移到的位置。我想避免切换到支持触摸和拖动的jQuery移动UI,因为我们已经广泛使用了jQuery(非移动)UI。 我们想要的功能: 这里 我们正在使用什么:这里 在台式机上,您无法分辨出差异。在移动设备上很明显。 有谁知道如何将这种支持添加到jQuery UI? $("#videographers").slider({ value: 2, min: 1, max: 3, step: 1, slide: function(event, ui) { return calcTotal(ui.value); } });

4
触摸设备上的jQuery UI滑块
我正在使用jQuery UI开发网站,并且在我的网站上有几个元素在触摸屏设备上查看时似乎不兼容;它们不会引起任何错误,但是行为不是应该的。 有问题的元素是jQuery UI定义的滑块和Ranges滑块;在触摸屏上,它只是将整个网页滑动到屏幕的一侧,而不是将触摸注册为抓起手柄,而将拖动注册为在整个滑块上拖动手柄。如果您点击手柄,然后点击滑块上您希望手柄结束的位置,它确实可以工作,但这非常慢且不理想。有任何想法吗? 我尝试下载jqtouch插件,然后附加.touch([...])到对slideler ()和rangelider()的所有调用,但这没有用。 谢谢! 更新:我在jQuery UI网站上找到了这个“补丁” http://bugs.jqueryui.com/ticket/4143 那说它有助于iPhone上的滑块,但现在又出现了一个愚蠢的问题:如何将这个“补丁”合并​​到我的代码中?我是否像插件一样将其包括在代码的开头?
95 slider  touch  jqtouch 

8
iOS中的基本拖放
我想要一个视图,其中有周围行驶的车辆,用户也可以拖放。您认为执行此操作的最佳大规模策略是什么?最好从代表车辆的视图还是从较大的视图获取触摸事件?是否有您满意的用于拖放的简单范例?不同策略的缺点是什么?

3
使元素不可单击(单击其后面的内容)
我有一个固定的图像,当用户滚动触摸屏(移动)时,该图像会覆盖页面。 我想使该图像“不可点击”或“无效”或其他,以便用户触摸并从该图像拖动时,它后面的页面仍会滚动,就好像该图像没有“阻塞”交互一样。 这可能吗?如果需要,我可以尝试提供一些示例说明的屏幕截图。 谢谢!
91 html  css  mobile  scroll  touch 

10
消除移动Safari中点击事件的300ms延迟
我了解到,从单击链接/按钮到事件触发之间,移动Safari的点击事件会延迟300毫秒。延迟的原因是等待用户是否打算双击,但是从UX的角度来看,等待300ms通常是不希望的。 消除这种300毫秒延迟的一种解决方案是使用jQuery Mobile“点击”处理。不幸的是,如果我只需要touchend以正确的方式应用一两行代码,我就不会熟悉这个框架,也不想加载一些大型框架。 像许多网站一样,我的网站也有许多如下点击事件: $("button.submitBtn").on('click', function (e) { $.ajaxSubmit({... //ajax form submisssion }); $("a.ajax").on('click', function (e) { $.ajax({... //ajax page loading }); $("button.modal").on('click', function (e) { //show/hide modal dialog }); 而我想做的就是使用一个简单的代码片段消除所有这些单击事件的300ms延迟: $("a, button").on('tap', function (e) { $(this).trigger('click'); e.preventDefault(); }); 这是一个好主意吗?

4
使用Cursor:Pointer触摸/按下对象时禁用蓝色突出显示
每当在Chrome中触摸应用了cursor:pointer属性的Div时,就会出现一个蓝色突出显示。我们如何摆脱它? 我尝试了以下方法: -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; 但是它们不会影响按光标时的蓝色突出显示。
81 html  css  mobile  touch  highlight 

4
了解触摸事件
我正在尝试使我的某些库与触摸设备一起使用,但是很难弄清楚它们如何得到支持以及它们如何工作。 基本上有5个touch事件,但似乎移动浏览器之间仅在touchstart事件(duh)上存在共识。我创建了一个小提琴作为测试用例。 我已经在装有Android 4的Galaxy Note上进行了测试,但是您也可以使用桌面浏览器检查链接。 目的是试图弄清楚如何处理龙头,双击和长龙头。没有什么花哨。 基本上就是这样: 在Android的股票浏览器不火的触摸事件。它只是试图模仿鼠标点击,水龙头,射击mousedown,mouseup和click事件连续,但双水龙头只是在进出塔页面缩放。 当手指触摸屏幕时,Chrome浏览器Android版会触发touchstart事件。如果它的发布很快,它触发那么mousedown,mouseup,touchend最后click事件。 在长按的情况下,大约半秒钟后会发出声音,mousedown并且mouseup,并且touchend在手指松开时click结束。 如果您移动手指,它会触发一个touchmove事件两次,然后触发一个touchcancel事件,此后什么也不会发生,即使touchend抬起手指也不会发生任何事件。 一双击触发器/缩小变焦功能,但事件明智它触发组合touchstart-touchevent两次,没有鼠标事件被解雇。 火狐为Android正确触发该touchstart事件,并在短击火灾的情况下mousedown,mouseup,touchend和click之后。 在的情况下,长按,它触发mousedown,mouseup最后touchend事件。这些方面与Chrome相同。 但是,如果你移动你的手指,如果火灾touchmove汽车无(作为一个可以预期),但它不不火的touchleave事件当手指离开与事件侦听器的元素,并且不火的touchcancel当手指得到浏览器窗口的出事件。 对于双击,它的行为就像Chrome。 Opera Mobile只需短按一下即可完成Chrome和Firefox的功能,但是如果长按,则会激活某种我确实要禁用的共享功能。如果您动手指或双击,它的行为就像Firefox。 Chrome beta版通常会在短按时执行操作,但在长按时不会再触发该mouseup事件,只是touchstart,然后mousedown在半秒钟后,再touchend在手指松开时触发。手指移动后,现在的行为就像Firefox和Opera Mobile。 如果双击,则在放大时不触发触摸事件,而仅在放大时触发。 Chrome测试版显示的是最奇怪的行为,但是我真的不能抱怨,因为它是测试版。 问题是:在最常见的触摸设备浏览器中,是否有一种简单的方法来尝试检测短按,长按和双击? 太糟糕了,我无法在具有Safari或Windows Phone 7 / Phone 8 / RT的IE的iOS设备上对其进行测试,但是如果您可以的话,我们将非常感谢您的反馈。


8
触摸移动某些元素时禁用滚动
我有一个页面,其中有一个部分可以绘制草图。但是,在移动浏览器上使用touchmove事件(至少是垂直事件)时,也会滚动页面(这会降低绘制体验)。有没有一种方法可以a)禁用并重新启用页面滚动(因此我可以在每行开始时将其关闭,但在完成每一行后将其重新打开),或b)禁用默认处理画草图的画布上的touchmove事件(大概是滚动)(我不能完全禁用它们,因为草图使用它们)? 我已经使用了jquery-mobile vmouse处理程序作为草图,如果有区别的话。 更新:在iPhone上,如果我选择要在其上绘制草图的画布,或者在绘图之前只是握住手指一点,该页面就不会滚动,这也不是因为我在页面中进行了编码。

6
在PC浏览器上模拟触摸事件
我正在为iPad开发HTML应用程序。因此,它利用了触摸事件和webkit-CSS动画。 到目前为止,由于它是很棒的开发人员模式,因此我一直使用chrome作为调试环境。 我想要的是能够在PC上使用Google-Chrome的调试器调试Html / JavaScript,同时使用鼠标模拟触摸事件。 我的网站没有任何多点触摸事件,也没有鼠标事件(在iPad上没有鼠标)。 我实际上对查看应用程序的布局并不感兴趣,但是对调试其行为更感兴趣。 是否有一些插件可以将鼠标事件转换为桌面浏览器上的触摸事件?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.