Цепочка событий клика для выполнения того же действия - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть таблица, содержащая список документов. Когда вы нажимаете на флажок рядом с этим документом, его копия появляется в отдельном блоке («Список избранного», если хотите).

Я создал собственное контекстное меню и хочу, чтобы один из его параметров делал то же самое, что и выше.

Я пытался связать событие 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...