我正在尝试处理按钮点击。“按钮”是一个自定义的div,也可以包含子元素。单击回调应该在用户在元素内单击和释放时触发。如果用户在内部单击然后在外部拖动并释放,则处理程序不应触发。我需要让它在桌面和移动设备上都能正常工作,因此我使用了mousedown/mouseup和touchstart/touchend事件。我需要将按钮类从“按下”更改为“正常”,即使用户在外面释放,所以我需要添加一个监听器来捕获文档上的释放事件:var$myElement=$("#myelement");//Thisisadivandcanalsocontainchildren.$myElement.on("mous
在mouseUp或touchEnd上,我想获取发生该事件的元素的引用。Demo在此示例中,您需要单击一个元素,拖动鼠标并在另一个元素上松开。释放鼠标时,该元素的背景将变为红色。我的代码适用于鼠标事件,但不适用于触摸设备。当touchStart在一个元素上并且手指在另一个元素上松开时,我只获得对第一个元素的引用。我需要更改什么才能使触摸事件与鼠标事件完全一样?varisMouseDown=false;varpanel1=document.getElementById('panel1');varpanel2=document.getElementById('panel2');panel1.
我有一些代码可以更改表的类。在手机上,有时表格对于屏幕来说太宽了,用户会拖动/滚动来查看内容。但是,当他们触摸并拖动表格时,它会在每次拖动时触发touchend。如何测试触摸端是否是触摸拖动的结果?我尝试跟踪dragstart和dragend但我无法让它工作,这似乎是一种不优雅的方法。有什么我可以添加到下面的东西,它基本上可以确定,“这个touchend是在拖动结束时出现的吗?”$("#resultTable").on("touchend","#resultTabletd",function(){$(this).toggleClass('stay');});在此先感谢您的帮助。PS-使
我正在研究一些javascriptUI,并使用大量触摸事件(如“touchend”)来改进触摸设备的响应。然而,有一些逻辑问题困扰着我......我看到许多开发人员在同一个事件中混用“touchend”和“click”。在许多情况下它不会造成伤害,但本质上该功能会在触摸设备上触发两次:button.on('clicktouchend',function(event){//thisfirestwiceontouchdevices});有人建议可以检测触摸功能,并适本地设置事件,例如:varmyEvent=('ontouchstart'indocument.documentElement)