链接点击事件以执行相同的操作

时间:2019-01-31 21:52:45

标签: javascript jquery events onclick

我有一个包含文档列表的表-当您单击该文档旁边的复选框时,该文档的副本将显示在单独的div中(如果需要,则为“收藏夹列表”)。

我创建了一个自定义上下文菜单,我希望它的一个选项能够执行与上述完全相同的操作。

我试图将上下文菜单的onClick事件链接到单击复选框的原始部分,但是当我尝试单击上下文菜单中的“添加到收藏夹”时,没有任何反应。

有什么想法吗?

JS代码段:

function faveFunc(evt) {
  const $table = $("#km-table-id")

  let table = $table.DataTable();
  let favesArr = [];

  let data = table.row(this.parentNode).data(),
  checked = $(this).is(":checked"),
  dataIndex = favesArr.indexOf(data);
  if (checked) {
    if (dataIndex === -1) {
      favesArr.push(data); // add item
    }
  } else {
    if (dataIndex > -1) {
      favesArr.splice(dataIndex, 1); // remove item
    }
  }  


  // - Appending selected faves to div - //

  ($(".populate-faves").empty()); // removes all previous entries
  for (var i = 0; i < favesArr.length; i++) {
    $(".populate-faves").append(JSON.stringify(favesArr[i].Titles) + '<br/><br/>').addClass("faved-doc");  
  }


}; // ------------ faveFunc

$("#km-table-id.checkbox-class, [data-action='add']").on("click", faveFunc)


  console.log(faveFunc)

HTML:

<ul class="custom-menu">
  <li data-action="open">Open Document</li>
  <li id="add-id" data-action="add">Set As Favorite</li>
  <li data-action="email"><a href="mailto:?subject=subject">Email Document</a></li>
</ul>

0 个答案:

没有答案