关于“;点击,点击“;事件触发两次.如何避免它

on "tap, click" event firing twice. how to avoid it?

本文关键字:点击 两次 何避免 事件 关于      更新时间:2023-09-26

我正在尝试制作一个带有区域标签的图像,在那里我可以点击每个区域并显示警报。

由于包含了"点击和点击",我似乎不知道如何避免在桌面模式下使用鼠标点击两次触发事件。

$(document).ready(function(e) {
    $('img[usemap]').something();
    $('area').on('tap click', function() {
        alert($(this).attr('alt'));
    });
});

我已经搜索了几种方法,比如使用布尔值分隔事件,但它们并没有真正起作用,因为我真的不擅长javascript。。。

请帮我弄清楚。非常感谢!

您可以尝试测试window.ontouchstart,并且只绑定相关的事件

$(document).ready(function(e) {
    $('img[usemap]').something();
    function clickArea(){
        alert($(this).attr('alt'));
    }
    if(typeof window.ontouchstart === 'undefined'){
        $('area').on('click', clickArea);
    } else{
        $('area').on('touchstart', clickArea);
    }
});