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

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

將鼠標懸停在該元素上時如何不斷觸發事件?

將鼠標懸停在該元素上時如何不斷觸發事件?

慕田峪7331174 2022-10-27 16:29:33
所以,我有一個按鈕,我想在按鈕懸停時不斷觸發一個事件。如果我使用mouseover,則當光標從外部某處出現時,此事件僅觸發一次。btn.addEventListener("mouseover", function(){    console.log("Hello");});例如,我希望此控制臺日志在光標位于按鈕上方時不斷發生。
查看完整描述

3 回答

?
暮色呼如

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

請檢查mousemove活動是否適合您。


let interval = null;

btn.addEventListener("mousemove", function(){

    console.log("Hello");

});


btn.addEventListener('mouseenter', function(){

  interval= setInterval(()=>console.log('Hello'), 100)

})


btn.addEventListener('mouseout', function(){

 clearInterval(interval)

})

#btn{

    width: 300px;

    height: 60px;

    border-radius: 8px;

}

    <button  id="btn">

    hover me

    </button>


查看完整回答
反對 回復 2022-10-27
?
眼眸繁星

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

您可以通過使用mouseoverand mouseout(和 a setInterval)來做到這一點?;旧?,鼠標進入時開始一個間隔,退出時清除它。


let interval;


btn.addEventListener("mouseover", function(){

    interval = setInterval(function() {

        console.log("Hello");

    }, 100);

});


btn.addEventListener("mouseout", function(){

    clearInterval(interval);

});


查看完整回答
反對 回復 2022-10-27
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您可以使用以下組合

  • 標志,可以在元素本身上,也可以作為單獨的變量

  • 一個 setInterval 函數

找出在任何給定時間懸停的元素。(這顯然是一個有點愚蠢的例子,因為你不能很好地將鼠標懸停在一次相鄰的多個元素上。)

function addEventListeners(button) {

  button.addEventListener("mouseover", () => button.dataset.hovered = "1");

  button.addEventListener("mouseout", () => button.dataset.hovered = "0");

}


function reportHovers(elements) {

  const hoveredIds = elements.filter(el => el.dataset.hovered === "1").map(el => el.id);

  document.getElementById("out").value = `${Math.floor(new Date() / 1000)}\n${JSON.stringify(hoveredIds)}`;

}



var buttons = Array.from(document.querySelectorAll("button"));

buttons.forEach(button => addEventListeners(button));

setInterval(() => reportHovers(buttons), 100);

<button id="b1">Button 1</button>

<button id="b2">Button 2</button>

<button id="b3">Button 3</button>


<textarea id="out"></textarea>


查看完整回答
反對 回復 2022-10-27
  • 3 回答
  • 0 關注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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