单击鼠标或悬停时清除间隔

时间:2016-08-24 11:09:10

标签: javascript jquery onclick hover clearinterval

我有一个全屏图像滑块,它没有自动播放功能,因此我必须编写自定义脚本来点击下一个按钮。

这是

child(user!.uid)

但是现在,只要用户点击同一个班级的按钮(.fp-controlArrow.fp-next),我就会喜欢clearInterval 。 JS能否以某种方式区分模拟点击和真正鼠标点击之间的区别?如果是这样,那么代码是什么?

如果没有,也许可以通过.fp-controlArrow.fp-next类清除按钮的间隔?

谢谢!

2 个答案:

答案 0 :(得分:0)

是的,您可以通过在事件侦听器中使用事件对象的 isTrusted 属性来区分用户生成的事件与代码生成的事件。

var elem = document.querySelector('.fp-controlArrow.fp-next');

elem.addEventListener("click", function( event ) {   
    if(event.isTrusted)
        clearInterval(interval);

  }, false);
  

https://developer.mozilla.org/en/docs/Web/API/Event/isTrusted

答案 1 :(得分:0)

您可以使用mousedown事件进行实际点击。

var el = document.querySelector('.fp-controlArrow.fp-next')
el.addEventListener('mousedown', function(){
    clearInterval( interval );
});

工作示例:https://jsfiddle.net/fov47eny/

此外,您可以使用isTrusted,但它对浏览器的支持有限。

if (e.isTrusted) {
    /* The event is trusted. */
} else {
    /* The event is not trusted. */
}