我希望有一个视图,其中有车辆行驶,用户也可以拖放.您认为这样做的最佳大规模战略是什么?是否最好从代表车辆的视图或更大的视图中获取触摸事件?有没有一个简单的范例,你用来拖放你满意吗?不同策略的缺点是什么?
我有一个带有按钮的tableview,我想在使用其中一个时使用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)
}
Run Code Online (Sandbox Code Playgroud) 我已经读过,从点击链接/按钮到事件触发的时间,移动Safari的点击事件有300毫秒的延迟.延迟的原因是等待用户是否打算双击,但从UX角度来看,等待300毫秒通常是不合需要的.
消除这300ms延迟的一个解决方案是使用jQuery Mobile"tap"处理.不幸的是,我不熟悉这个框架,如果我需要的是一行或两行代码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
});
Run Code Online (Sandbox Code Playgroud)
我想做的是使用如下单个代码片段来消除所有这些点击事件的300毫秒延迟:
$("a, button").on('tap', function (e) {
$(this).trigger('click');
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
这是一个坏/好主意吗?
我想禁用浏览器中指定元素的双击缩放功能(在触摸设备上),而不禁用所有缩放功能.
例如:可以多次点击一个元素以发生某些事情.这在桌面浏览器上运行良好(如预期的那样),但在触摸设备浏览器上,它会放大.
我正在尝试让我的一些图书馆使用触摸设备,但我很难弄清楚它们是如何被支持的以及它们是如何工作的.
基本上,有5个触摸事件,但似乎只有touchstart事件(duh)在移动浏览器中有共识.我创建了一个小提琴作为测试用例.
我已经在我的Galaxy Note上使用Android 4测试了这个,但您也可以通过桌面浏览器检查链接.
目标是试图弄清楚如何处理水龙头,双水龙头和长水龙头.没有什么花哨.
基本上,这是发生的事情:
在Android的浏览器的股票不会触发触摸事件.它只是试图模仿鼠标点击,水龙头,射击mousedown,mouseup和click事件连续,但双水龙头只是放大和缩小网页塔.
当手指触摸屏幕时,Chrome for Android会触发touchstart事件.如果它的发布很快,它触发那么mousedown,mouseup,touchend最后click事件.
在的情况下,长按后,在约半秒它激发mousedown和mouseup,和touchend当手指抬起时,没有click在结束事件.
如果你移动你的手指,它会发射touchmove几次事件,然后它会发射一个touchcancel事件,之后什么都不会发生,甚至touchend在举起手指时都不会发生.
一双击触发/缩小功能变焦,但事件明智它触发组合touchstart- touchevent两次,发射没有鼠标事件.
火狐为Android正确触发该touchstart事件,并在短击火灾的情况下mousedown,mouseup,touchend和click之后.
如果长时间点击,它会触发mousedown,mouseup最后 …
当用户处于滚动触摸屏(移动设备)的行为时,我有一个固定的图像覆盖页面.
我希望将该图像设置为"不可点亮"或"不活动"或其他任何内容,以便如果用户触摸并拖动该图像,其后面的页面仍然会滚动,就好像图像没有"阻止"交互一样.
这可能吗?如果需要,我可以尝试提供屏幕截图,例证我的意思.
谢谢!
我无法找到有关如何拦截新版Google Maps API v2上的地图触摸的示例.
我需要知道用户何时触摸地图以停止线程(地图围绕我当前位置的居中).
我正在为iPad开发一个HTML应用程序.因此,它利用触摸事件和webkit-CSS动画.
到目前为止,我已经使用chrome作为我的调试环境,因为它是非常棒的开发人员模式.
我想要的是能够在我的PC上使用Google-Chrome的调试器调试我的Html/JavaScript,同时使用鼠标模拟触摸事件.
我的网站没有任何多点触控事件,也没有鼠标事件(iPad上没有鼠标).
我实际上并不想看到应用程序布局,而是更多地调试它的行为.
是否有一些插件可以将鼠标事件转换为桌面浏览器上的触摸事件?
在像iPhone/iPad/Android这样的触摸设备上,用手指敲击一个小按钮很困难.没有跨浏览器方式来检测我所知道的CSS媒体查询的触摸设备.所以我检查浏览器是否支持javascript触摸事件.到目前为止,其他浏览器还没有支持它们,但是开发者频道上的最新Google Chrome 启用了触摸事件(即使是非触摸设备).而且我怀疑其他浏览器厂商会跟进,因为带触摸屏的笔记本电脑正在上市.更新:这是Chrome中的一个错误,所以现在JavaScript检测再次起作用.
这是我使用的测试:
function isTouchDevice() {
return "ontouchstart" in window;
}
Run Code Online (Sandbox Code Playgroud)
问题是,这只测试浏览器是否支持触摸事件,而不是设备.
有谁知道正确的[tm]方式为触控设备提供更好的用户体验?除了嗅探用户代理.
Mozilla有触摸设备的媒体查询.但我在其他任何浏览器中都没有看到类似的内容:https: //developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled
更新:我想避免为移动/触摸设备使用单独的页面/网站.解决方案必须通过JavaScript检测具有对象检测功能的触摸设备,或者包含自定义触摸CSS而无需用户代理嗅探!我问的主要原因是,在我联系css3工作组之前,确保今天不可能.如果你不能按照问题的要求请不要回答;)
http://marakana.com/tutorials/android/2d-graphics-example.html
我在下面使用这个例子.但当我在屏幕上移动我的手指太快时,线条会变成单个点.
我不确定我是否可以加快绘图速度.或者我应该用直线连接最后两个点.这两个解决方案中的第二个似乎是一个不错的选择,除非你的手指移动非常快,你将有一条直线的长段然后是尖锐的曲线.
如果有任何其他解决方案,听到它们会很棒.
在此先感谢您的帮助.