创建支持触摸和单击的绑定

时间:2013-02-26 14:39:14

标签: javascript jquery mobile touch desktop

我正在寻找一种绑定触摸设备的“touchstart”和桌面设备的“点击”绑定。

在某些触摸设备上绑定“点击”会在处理点击之前延迟500毫秒。

使用“typeof window.ontouchstart”将触控设备与桌面分开不再适用,因为主流浏览器现在支持触控(jQuery TouchClick),但点击鼠标不会模拟触控事件。

jQuery Mobile有这个功能,as suggested here,但我正在寻找一个针对此功能的精简jQuery插件,而不使用jQuery Mobile框架。

2 个答案:

答案 0 :(得分:1)

如果绑定两者,那么当触摸触摸时,忽略后续点击事件?

var ignoreClick = false;

function touchOrClick(e){
    if (e.type == 'click'){
        if (ignoreClick){
            ignoreClick = false;
            return;
        }
    } else {
        ignoreClick = true;
    }
    // do stuff
}

node.addEventListener('ontouchstart', touchOrClick, false);
node.addEventListener('onclick', touchOrClick, false);

答案 1 :(得分:0)

如果您升级到最新版本的jquery-touchclick,它现在支持两者。