Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将阻止默认值添加到单击事件?_Javascript_Jquery - Fatal编程技术网

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
}

您可以使用另一个句柄来调用“防止默认值…”。。。或者在现有句柄中进行条件检查或者您可以拥有另一个句柄,该句柄将调用“防止默认值…”。。。或者在现有处理程序中进行条件检查