如何在鼠标移动并长时间触摸后检测mouseup事件?

问题描述 投票:1回答:1

示例:http://jsfiddle.net/za14jqw0/3/

HTML:

<div id="wrapper">
    <div id="a"></div>
</div>

CSS:

#a {
    width: 30px;
    height: 30px;
    background-color: red;
}

JavaScript:

$('#wrapper').on('mouseup', function() {
    $('#a').css('background-color', 'yellow');
});

[每当发生鼠标上移事件时,红色框就会变为黄色。

问题是在触摸设备上,如果用户触摸屏幕,四处移动手指并等待几秒钟,则不会触发mouseup事件。

如何检测到它?

jquery touch jquery-events
1个回答
1
投票

要支持触摸设备,您还需要'touchend'。>>

MDN:

从触摸屏上移除触摸点时触发touchend事件。触摸表面。

jQuery

$('#wrapper').on('mouseup touchend', function() {
    $('#a').css('background-color', 'yellow');
});

[FIDDLE

] >>

注意:

我找不到有关跨浏览器支持的统计信息,考虑到移动浏览器的多变性,这令人震惊。如果需要,您可以使用类似jQuery 'tap' event的库,例如jQuery mobile。请记住,您可以使用download builder选择特定的模块进行下载,以消除膨胀。

© www.soinside.com 2019 - 2024. All rights reserved.