0

我正在使用JavaScript API开发任务窗格字加载项,我使用以下代码使用函数动态创建 jQuery 对话框:

function myConfirm(dialogText, okFunc, cancelFunc, dialogTitle) {
        $('<div style="padding: 10px; max-width: 500px; word-wrap: break-word;">' 
                              + dialogText + '</div>').dialog({
            draggable: true,
            modal: true,
            resizable: false,
            width: 'auto',
            title: dialogTitle || 'Confirm',
            minHeight: 75,
            position: {
                my: "center",
                at: "center",
                of: window
            },
            buttons: {
                OK: function() {
                    if (typeof(okFunc) == 'function') {
                        setTimeout(okFunc, 50);
                    }
                    $(this).dialog('destroy');
                },
                Cancel: function() {
                    if (typeof(cancelFunc) == 'function') {
                        setTimeout(cancelFunc, 50);
                    }
                    $(this).dialog('destroy');
                }
            }
        });
    }

但是当我第一次打开它来调用myConfirm函数时,页面滚动到顶部,当我向下滚动以单击对话框时,它再次将滚动发送回顶部然后我需要再次向下滚动,现在我可以点击在对话框按钮上。首先它工作正常。

我需要在按钮点击时动态设置框的文本和功能,所以我动态地创建它。我还在 Internet Explorer 上进行了测试,它运行良好。

请建议我如何为 word 插件修复它。

4

1 回答 1

0

您可以在调用函数时尝试以下代码:-

onclick="myConfirm();return false;"

只需添加“return false;” 在您的函数名称之后,如上所示。

编辑1: -

或者你也可以从你的函数中返回 false 。

编辑2:-

$form.show().dialog({
                close: function (event) { event.preventDefault(); }
                resizable: false,
                etc....
            });
于 2017-01-26T11:45:32.520 回答