javascript - JSON 中的 Jquery 函数

标签 javascript jquery

我对这段代码有疑问:

jQuery( "#unknown_dialog" ).dialog({
    autoOpen: false,
    resizable: true, 
    height:150,
    width:500,
    modal: true,
    closeOnEscape: false,
    open: function(event, ui) {
            jQuery(".ui-dialog-titlebar").hide();
            jQuery(".ui-dialog-buttonpane").addClass("dialogButtonPane");
        jQuery(".ui-dialog-buttonset").addClass("dialogButtonSet");
        jQuery(".ui-button").addClass("dialogButton");
    }

});

我尝试将 open 函数作为在多个地方使用它的不同方法,例如:

jQuery( "#unknown_dialog" ).dialog({
    ....,
    open: dialogOpenMethod(event, ui)
});

var dialogOpenMethod = function(event, ui) {
        jQuery(".ui-dialog-titlebar").hide();
        jQuery(".ui-dialog-buttonpane").addClass("dialogButtonPane");
    jQuery(".ui-dialog-buttonset").addClass("dialogButtonSet");
    jQuery(".ui-button").addClass("dialogButton");
};

但是我在dialogOpenMethod(event, ui)中遇到了javascript错误:未找到参数ui。 谁能帮我吗?

最佳答案

这段代码:

jQuery( "#unknown_dialog" ).dialog({
    ....,
    open: dialogOpenMethod(event, ui)
    // calls the function ^^^^^^^^^^^
});

...是调用 dialogOpenMethod 函数,然后将其返回值分配给 open 属性,与a 完全相同= foo() 调用 foo 并将其返回值分配给 a

相反,只需引用该函数即可:

jQuery( "#unknown_dialog" ).dialog({
    ....,
    open: dialogOpenMethod
});

关于javascript - JSON 中的 Jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28363170/

相关文章:

javascript - 获取更改后输入的默认值

javascript - 在javascript中更改背景图像大小

javascript - 如何使用纯 javascript 将 css 边距值转换为像素?

javascript - 以编程方式更改复选框不会触发更改事件

javascript - 从剪贴板获取粘贴的图像 Firefox

javascript - Jquery 隐藏/显示不起作用

javascript - 我如何渲染和使用自定义 HTML 标签,例如 <g :plusone/>?

javascript - Sweet Alert 2 和 Socket.io 在 preConfirm 中使用发出的结果

javascript - 如何使用 jQuery 为 CSS Sprite 制作动画

javascript - JQuery animate() 在 FF 或 Opera 中不起作用