1

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

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

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

jQuery Mobile有这个特性,正如这里所建议的那样,但我正在寻找一个精简的 jQuery 插件来实现这个特性,而不使用 jQuery Mobile 框架。

4

2 回答 2

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);
于 2013-02-26T14:50:28.410 回答
0

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

于 2013-05-15T02:01:36.320 回答