使用<a href""=""> instead of click/touch/pointer event</a>

时间:2015-03-15 16:00:32

标签: javascript touch href

我一直在努力让网站同时兼容台式机,平板电脑和移动设备。有许多库可以处理触摸设备上的指针事件。其中一个是hand.js,它在指针事件中结合了鼠标和触摸,而我不必考虑它用于什么设备。 Hand.js工作精湛,解决了一个问题。在触摸设备上,即使将指针向下事件作为滚动或捏合的开始,也会触发 pointerdown 事件。

有解决方案可以解决这个问题,但是我没有添加越来越多的javascript,而是考虑放弃所有库以进行触摸,让浏览器自行决定。

为实现这一目标,我正在考虑使用(或滥用:-) <a href"">标签。

而不是(为简单起见,我使用onclick inline而不是添加eventlistener):

<div class="myclass" onclick="start(1,2,3)">Hello</div>

我可以用

<a href='javascript:{start(1,2,3);void(0);}'><div class="myclass">Hello</div></a>

此解决方案的好处是:

  • 设备浏览器决定如何处理点击/触摸,同时仍然启用缩放和滚动而不会触发任何不需要的操作。
  • 无需向按钮注册任何事件。
  • 我不需要任何图书馆

我创建了fiddle并且(令我惊讶的是)它正在运行。但是,我不是专家,因此我的问题是:

我可以使用此方法而不会遇到问题吗?

0 个答案:

没有答案