移动Firefox点击并按住事件

时间:2018-10-08 12:59:53

标签: javascript jquery firefox events

我正在尝试制作一个简单的webapp,在其中可以单击或按住某个元素以调用其他函数。

$(document).on("click",'.element', function() {
    clickFunction();
});
let timeoutId = 0;
$(document).on('pointerdown','.element', function() {
    timeoutId = setTimeout(holdFunction, 500);
}).on('pointerup pointerleave', '.element', function() {
    clearTimeout(timeoutId);
});

它已经过测试,并且可以在Chrome,Firefox和移动Chrome上正常运行。 问题在于,在移动Firefox上根本没有调用'pointerdown'事件,我也不知道为什么。

1 个答案:

答案 0 :(得分:0)

事实证明,移动Firefox浏览器不支持指针事件。 要检查浏览器是否支持指针事件,只需使用

if (window.PointerEvent)

在移动Firefox上,应该使用触摸事件(touchstart,touchend等)

还值得一提的是,如果您不想在 holding element和滚动的同时调用 holdFunction ,则在问题会很好,但是使用触摸事件时,您可能需要进一步检查窗口是否滚动

$(window).scroll(function(event){clearTimeout(timeoutId);});