【发布时间】:2020-05-12 13:39:01
【问题描述】:
一个简单的快速问题我根本无法找出答案,尽管我在 stackoverflow 上遇到了很多问题。我是新手,感谢您的耐心等待!
在这里:我有一个函数声明(希望)像这样:
function test(parameter) {
$(parameter).trigger("click");
};
然后我想在点击某些东西时调用这个函数,像这样:
$("#buttonOne").on("click", test("#correctParameter"));
现在,问题是该功能实际上是在页面加载时执行的,然后在单击 #buttonOne 时不起作用。我在 w3school 上读到过
如果表达式后面有 (),函数表达式将自动执行。
事实上,当我没有使用任何参数时,它只在点击时起作用:
function test() {
$("#correctParameter").trigger("click");
};
$("#buttonOne").on("click", test);
但是我必须使用参数选项,所以我可以在其他时间调用这个函数并每次给它不同的参数。你能帮我解决这个问题吗?
【问题讨论】:
-
这是一个常见问题,它们将是具有更多细节的重复项 - 但本质上,您需要将其包装在
function() {}中(添加一个内联匿名函数):$("#buttonOne").on("click", function() { test("#correctParameter") });
标签: jquery function self-invoking-function