我有一个打开对话窗口的功能。当用户点击注册按钮时,注册对话框应该打开。但是,该对话框会在页面加载后立即打开。如果我使用匿名函数来处理它工作正常的事件,但我想为其他对话框(登录等)重用 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);
最佳答案
您需要将函数包装在匿名函数中。您的代码将运行并简单地触发该函数。
$('.js-join-button').on('click', function() {
openDialog(event, signUp)
});
现在,例如,如果您的函数不带任何参数,您可以这样做
$('.js-join-button').on('click', openDialog);
这会将一个引用 传递给该函数。使用 ()
它触发函数。没有,它是一个函数引用。
关于javascript - 点击前点击事件触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775356/