【发布时间】:2017-01-26 11:03:45
【问题描述】:
我正在使用 JavaScript API 开发任务窗格 word 插件,我使用以下代码使用函数动态创建 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 上进行了测试,它运行良好。
请告诉我如何修复它的字插件。
【问题讨论】:
-
这个函数怎么调用?是不是来自
<a href="#" />? -
@RoryMcCrossan 没有内部锚点击方法,我也使用 e.preventDefault();内锚点击方法。
标签: ms-word jquery-ui-dialog office-js word-addins javascript-api-for-office