javascript - 点击前点击事件触发

标签 javascript jquery

我有一个打开对话窗口的功能。当用户点击注册按钮时,注册对话框应该打开。但是,该对话框会在页面加载后立即打开。如果我使用匿名函数来处理它工作正常的事件,但我想为其他对话框(登录等)重用 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/

相关文章:

javascript - 如何在幻灯片范围后提醒文本?

javascript - 放大时 css 布局会变形

javascript - 分隔字符串中的整数和文本

javascript - css 复选框选中 Material 设计覆盖

jquery - 如何修改 a::after 兄弟元素的 css?

javascript - 为什么数字继承自 Object.prototype 而不是 Object 的实例?

javascript - JQuery 未成功加载 xml

javascript - 如何将带有 URL 的文本作为参数安全地传递给 CodeIgniter Controller ?

javascript - 根据div宽度调整图像大小

javascript - 从字符串中删除除一个域之外的所有域