我有说click事件,如果这个元素不必须运行类...功能可按添加防止默认点击事件?
$(document).on('click', '.arrow:not(".disabled")', altSaws);
这工作得很好,但我的e.preventDefault
是altSaws函数中,所以当该元素具有类禁止,在点击用户被带到页面的顶部,有没有其他方式可以做到这一点?
希望这有意义吗?
我有说click事件,如果这个元素不必须运行类...功能可按添加防止默认点击事件?
$(document).on('click', '.arrow:not(".disabled")', altSaws);
这工作得很好,但我的e.preventDefault
是altSaws函数中,所以当该元素具有类禁止,在点击用户被带到页面的顶部,有没有其他方式可以做到这一点?
希望这有意义吗?
你可以有2个解决方案
上移默认阻止呼叫到一个单独的处理器
$(document).on('click', '.arrow:not(".disabled")', altSaws);
function altSaws() {
//no need to prevent default here
}
$(document).on('click', '.arrow', function(e) {
e.preventDefault();
});
或手柄内altSaws
disabled
条件
$(document).on('click', '.arrow', altSaws);
function altSaws(e) {
e.preventDefault();
if ($(this).hasClass('disabled')) {
return;
}
//your existing logic
}
真棒,感谢@ArunPJohny – Liam
你的功能altSaws正是在这个问题缺少的,但它应该这样开始:
function altSaws(e) {
e.preventDefault();
...
}
要么你可以有另一个将调用预设默认值的句柄...或者在现有处理程序中检查条件 –