3 回答

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);

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");
});

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");
}
}
添加回答
舉報