[英]Prevent touchStart but allow click events
我想防止touchStart
事件,以防止Safari在某些情况下在iOS设备中反弹。
为此,我使用以下方法:
$('.wrapper').on('touchstart', function(e) {
e.preventDefault();
});
但是现在所有点击事件都无法对其进行处理:
$('.wrapper').on('click', function() {
$('.wrapper').text('Click fired');
});
我无法将click
事件替换为其他任何事件。 因为这可能来自最终用户。
在iOS 10之前的版本中, 可以通过仅阻止touchMove
来避免touchMove
但是自从iOS 10起,除非也避免了touchStart
否则它将跳动。
有什么方法可以只阻止touchStart
事件,而不能使用click
事件?
我没有iOS 10可用于试驾,这是一个疯狂的猜测,但请查看以下代码段:
$('.wrapper').on('click touchstart', function(e) { if (e.type != 'click') { e.preventDefault(); } else { $('.wrapper').text('Click fired'); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="wrapper">asd</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.