$(document).ready(function() {
$("button").on("click", TestFunction());
});
function TestFunction() {
console.log("Function called");
$b = $("#test");
$b.remove();
}
Run Code Online (Sandbox Code Playgroud)
VS
$(document).ready(function() {
$("button").on("click", function() {
$b = $("#test");
$b.remove();
});
});
Run Code Online (Sandbox Code Playgroud)
第一个在页面加载后立即删除按钮#test.无需单击按钮,只需将其删除即可.第二个按预期工作.按钮显示,在调用之前不会被删除.
我没有进行Javascript语法/ jQuery API的哪些部分?我认为传递给.on()的handler参数是一个函数.我在第一个例子中传递了一个函数,它似乎已经调用它,但它忽略了"点击".
在调用函数之前,函数内部不应忽略它吗?
$("button").on接受函数的第二个参数而不是函数的返回值(除非,返回值是类型function).你为第二个版本而不是第一个版本做得对.因此,要在第一个版本中修复您的问题,您必须传入一个函数,如下所示:
$(document).ready(function() {
$("button").on("click", TestFunction);
});Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |