亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

只觸發一次點擊事件

只觸發一次點擊事件

開心每一天1111 2021-12-23 17:01:55
我只想在瀏覽器的屏幕寬度為 800 像素時觸發點擊事件,但是按照下面的邏輯,當我到達 800 并停止調整屏幕大小時,點擊事件會不停地來回觸發。我該如何解決這個問題。html文件:<!-- begin sidebar minify button --><a href="javascript:;" class="sidebar-minify-btn" data-click="sidebar-minify">   <i class="fa fa-angle-left"></i></a><!-- end sidebar minify button -->js文件:window.onresize = function(){     const width = window.innerWidth;     if(width === 800)     {        $('a[data-click="sidebar-minify"]').trigger('click');        console.log('click event triggered');     }}
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

一種可能的方法是resize在不再需要時使用EventTarget.removeEventListener()刪除偵聽器,如下所示:


function resizeListener() {

  if (window.innerWidth === 800) {

    window.removeEventListener('resize', resizeListener);

    $('a[data-click="sidebar-minify"]').trigger('click');

    console.log('click event triggered');

  }

}


window.addEventListener('resize', resizeListener);


查看完整回答
反對 回復 2021-12-23
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

就像@Pete 在評論中所說的那樣,您有不同的選擇。


您可以使用布爾值來跟蹤事件是否已被觸發:


var isResized = false;

window.onresize = function()

{

     const width = window.innerWidth;

     if(width === 800 && !isResized)

     {

        isResized = true;

        alert("test");

     }

}

您還可以使用one單擊的功能,a tag在第一次使用后解除單擊的綁定:


window.onresize = function()

{

     const width = window.innerWidth;

     if(width === 800)

     {

        $('a[data-click="sidebar-minify"]').trigger('click');

        console.log('click event triggered');

     }

}


$('a[data-click="sidebar-minify"]').one("click", function(){

    alert("test");

});


查看完整回答
反對 回復 2021-12-23
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

window.onresize = function()

{

 const width = window.innerWidth;

 if(width === 800)

 {

   // give anker link class then remove that after condition true



    $('.anker').trigger('click');



    console.log('click event triggered');


   $('a[data-click="sidebar-minify"]').removeClass("anker");

 }

}


查看完整回答
反對 回復 2021-12-23
  • 3 回答
  • 0 關注
  • 328 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號