我有一个包含文档列表的表-当您单击该文档旁边的复选框时,该文档的副本将显示在单独的div中(如果需要,则为“收藏夹列表”)。
我创建了一个自定义上下文菜单,我希望它的一个选项能够执行与上述完全相同的操作。
我试图将上下文菜单的onClick事件链接到单击复选框的原始部分,但是当我尝试单击上下文菜单中的“添加到收藏夹”时,没有任何反应。
有什么想法吗?
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)
<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>