首页 > 解决方案 > 停止 onclick 的后续方法调用

问题描述

如果这是已经存在的问题,请帮我将其标记为重复,因为我找不到类似的解决方案。

虽然有多个方法调用 onclick 属性,例如:

<a onclick="foo();afterFoo();afterAfterFoo();"/>

我想在满足某些条件时停止后续调用afterFoo(),例如。afterAfterFoo();foo()

我尝试return false;了方法foo(),但它仍然调用其他方法。我记得这个技巧曾经按预期工作。

标签: javascript

解决方案


它不会那样发生。您需要创建一个包装函数并将其附加为 onClick 处理程序,而不是直接从中调用 3 个函数。您可以根据 if 条件从包装函数中调用 3 个函数。

<a onclick="clickHandler();"/>
function clickHandler() {
    foo() && afterFoo() && afterAfterFoo();
}

推荐阅读