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