gpt4 book ai didi

javascript - 如何在 $(window).resize() 中的 $(this) 上使用 e.preventDefault()?

转载 作者:搜寻专家 更新时间:2023-10-31 22:29:27 24 4
gpt4 key购买 nike

我如何使用 $(this).e.preventDefault()

我想要/需要的是在窗口上调整 <a> 的大小应该表现不同。所以就像在 fiddle 示例中,如果窗口宽度小于 710 href不应该被触发。只会有一些 JavaScript 函数切换 subnav .但是如果窗口比 710px 宽,我想要 href “正常”工作。

现在,通过设置示例,我看到事件触发了多次。如果只触发一次,我该怎么做?

另外,有没有更好的方法来实现我想要的?

请在点击前在 jsfiddle 中调整窗口大小! fiddle here

$( window ).resize(function() {
var wW = $(window).width();
$('.windowWidth span').html(wW);
if(wW < 710) {
$('nav ul.nav > li > a').on('click',function(e){
e.preventDefault();
alert("here");
});
} else {
$('nav ul.nav > li > a').on('click',function(e){
alert("there");
});
}
});

最佳答案

您需要在点击处理程序中检查窗口宽度,而不是在窗口调整大小处理程序中设置点击处理程序。试试这个:

$('nav ul.nav > li > a').on('click',function(e){
if ($(window).width() < 710) {
e.preventDefault();
}
alert("there");
});

您当前的方法将不起作用,因为您最终会将同一个点击处理程序多次分配给同一个元素。

关于javascript - 如何在 $(window).resize() 中的 $(this) 上使用 e.preventDefault()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23056369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com