首页 > 解决方案 > 有没有办法在不点击按钮的情况下触发动作

问题描述

我即将开发一个插件,它会自动从电子邮件中提取一些数据并修改我们数据库中的一些字段。然而,这种提取可能有点容易出错,因此我们希望在它发生时进行一层人工验证。

我们已经在 gmail 中执行此操作,当用户打开电子邮件并找到要提取的内容时,我们会显示确认弹出窗口,并且此功能非常受我们的客户欢迎。

我计划使用该对话框,但它似乎触发了显示该框的操作需要附加到用户单击的 ui 元素。

有没有办法在没有用户点击的情况下务实地触发一个动作?

标签: outlookoutlook-addinoutlook-web-addins

解决方案


查看可用于 Outlook 加载项的可固定任务窗格,有关详细信息,请参阅在 Outlook 中实施可固定任务窗格。在那里您可以实现ItemChanged事件处理程序。事件处理程序应该接受一个参数,它是一个对象字面量。此对象的 type 属性将设置为Office.EventType.ItemChanged。调用事件时,Office.context.mailbox.item对象已更新以反映当前选定的项目。

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);

    UpdateTaskPaneUI(Office.context.mailbox.item);
  });
};

// Example implementation
function UpdateTaskPaneUI(item)
{
  // Assuming that item is always a read item (instead of a compose item).
  if (item != null) console.log(item.subject);
}

推荐阅读