在“点击,点击”事件两次射击。怎么避免呢?

时间:2015-06-22 22:35:02

标签: javascript jquery touch-event jquery-click-event

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

如果同时包含“点击和点击”,我似乎无法弄清楚如何避免在桌面模式下使用鼠标点击两次触发事件。

$(document).ready(function(e) {
    $('img[usemap]').something();

    $('area').on('tap click', function() {
        alert($(this).attr('alt'));
    });
});

我已经搜索了几种方法,例如使用布尔值分隔事件,但它们并没有真正起作用,因为我在javascript上真的很糟糕......

请帮我解决这个问题。非常感谢你!

1 个答案:

答案 0 :(得分:3)

您可以尝试测试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);
    }
});