Javascript 是否将阻止默认值添加到单击事件?
我有一个点击事件,它说如果这个元素没有类运行函数Javascript 是否将阻止默认值添加到单击事件?,javascript,jquery,Javascript,Jquery,我有一个点击事件,它说如果这个元素没有类运行函数 $(document).on('click', '.arrow:not(".disabled")', altSaws); 这很好,但是我的e.preventDefault在altSaws函数中,因此当元素禁用了类时,单击后,用户将被带到页面顶部,是否有其他方法可以做到这一点 希望这是有意义的?您的函数altSaws是问题中缺少的,但它应该这样开始: function altSaws(e) { e.preventDefault();
$(document).on('click', '.arrow:not(".disabled")', altSaws);
这很好,但是我的e.preventDefault
在altSaws函数中,因此当元素禁用了类时,单击后,用户将被带到页面顶部,是否有其他方法可以做到这一点
希望这是有意义的?您的函数altSaws是问题中缺少的,但它应该这样开始:
function altSaws(e) {
e.preventDefault();
...
}
您的函数altSaws是问题中缺少的,但它应该这样开始:
function altSaws(e) {
e.preventDefault();
...
}
您可以有两种解决方案 将默认阻止调用移动到单独的处理程序
$(document).on('click', '.arrow:not(".disabled")', altSaws);
function altSaws() {
//no need to prevent default here
}
$(document).on('click', '.arrow', function(e) {
e.preventDefault();
});
或者在altSaws
$(document).on('click', '.arrow', altSaws);
function altSaws(e) {
e.preventDefault();
if ($(this).hasClass('disabled')) {
return;
}
//your existing logic
}
您可以有两种解决方案 将默认阻止调用移动到单独的处理程序
$(document).on('click', '.arrow:not(".disabled")', altSaws);
function altSaws() {
//no need to prevent default here
}
$(document).on('click', '.arrow', function(e) {
e.preventDefault();
});
或者在altSaws
$(document).on('click', '.arrow', altSaws);
function altSaws(e) {
e.preventDefault();
if ($(this).hasClass('disabled')) {
return;
}
//your existing logic
}
您可以使用另一个句柄来调用“防止默认值…”。。。或者在现有句柄中进行条件检查或者您可以拥有另一个句柄,该句柄将调用“防止默认值…”。。。或者在现有处理程序中进行条件检查