我有一个打开对话框窗口的功能.当用户单击注册按钮时,应该打开注册对话框.但是,只要页面加载,对话框就会打开.如果我使用匿名函数来处理事件它工作正常,但我想重用openDialog函数用于其他对话框(登录等),所以我不希望它是匿名的.
var ready;
ready = function () {
$('.js-join-button').on('click', openDialog(event, signUp));
function openDialog(event, dialogType) {
event.preventDefault ? event.preventDefault() : event.returnValue = false;
dialogType.dialog('open');
}
...
}
$(document).ready(ready);
Run Code Online (Sandbox Code Playgroud)
您需要将函数包装在匿名函数中.您的代码将运行,否则只是触发该函数.
$('.js-join-button').on('click', function() {
openDialog(event, signUp)
});
Run Code Online (Sandbox Code Playgroud)
现在,例如,如果您的函数没有采用任何参数,您可以这样做
$('.js-join-button').on('click', openDialog);
Run Code Online (Sandbox Code Playgroud)
这传递了对函数的引用.随着()它触发功能.没有,它是一个功能参考.
| 归档时间: |
|
| 查看次数: |
826 次 |
| 最近记录: |