【问题标题】:How to capture click event on dynamic content in task pane?如何捕获任务窗格中动态内容的点击事件?
【发布时间】:2019-02-03 14:39:26
【问题描述】:

我有一些代码成功地从文档中获取文本,用它做一些事情,并在任务窗格中呈现动态 div 的变化。

现在我只是想在控制台日志中注册一个动态 div 的点击,但我没有看到任何事件发生。但是当我停止并重新启动 VS 中的代码时,我在控制台中看到了这个......

项目详情已点击!未定义

所以,有些东西正在注册。

我正在阅读 Office.js 文档和其他博客文章,但似乎找不到我做错了什么。

我尝试了这些变体,但无济于事。

// dynamic div
var myDetails = 'details-S' + myId + 'I' + idxWarn;
var myDetLink = ' <div class="linkItemDetails" id="' + myDetails + '">...</div>';

function clickedItemDetails() {
console.log("Item Details Clicked! " +JSON.stringify(this));
}

$('.linkItemDetails').click(clickedItemDetails);
$('.linkItemDetails').on('click', clickedItemDetails());
$('.vtsItemDetails').bind("click", clickedItemDetails);
$('#parentDivItemCategories').on('click', '.linkItemDetails', function () { clickedItemDetails() });

现在,当我停止并重新启动 VS 中的代码时,我在控制台中看到了这个... 项目详情点击!未定义

所以,某处正在注册某些东西。只是不是我想要的时间/地点/方式。

有人能指出正确的方向吗?

【问题讨论】:

    标签: ms-word office-js add-in


    【解决方案1】:

    无视。我有正确的代码,但父 div ID 错误。感觉就像一个完全的新手。但是等等,我是!无论如何,如果您有正确的父 div ID,则此代码有效

    $('#parentDivItemCategories').on('click', '.linkItemDetails', function () { clickedItemDetails() });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2014-01-15
      相关资源
      最近更新 更多