簡體   English   中英

鼠標單擊或懸停時的Clearinterval

[英]Clearinterval on mouse click or hover

我有一個沒有自動播放功能的全屏圖像滑塊,因此我必須編寫自定義腳本才能單擊下一個按鈕。

這里是

var interval = setInterval(function() {

document.querySelector('.fp-controlArrow.fp-next').click();


}, 7000);

setTimeout(function( ) { clearInterval( interval ); }, 44000);

但是,現在我很想在用戶單擊同一類(.fp-controlArrow.fp-next)的按鈕時清除clearInterval JS能否以某種方式區分模擬點擊和真實鼠標點擊之間的區別? 如果是這樣,那將是什么代碼?

如果不是,也許可以通過.fp-controlArrow.fp-next類清除將鼠標懸停在按鈕上的時間間隔嗎?

謝謝!

是的,您可以通過使用事件偵聽器中事件對象的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

您可以將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. */
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM