faveFunc
только устанавливает слушателя
Давайте посмотрим на faveFunc
:
function faveFunc() {
let addFave = $table.on("click", ".checkbox-class", function(e) {
// ...
})
}
Когда вы звоните faveFunc
, все, что он делает, установленослушатель "щелчка".На самом деле не выполняет прослушиватель щелчков.
document
не то, что вы думаете
Относительно $(document).on("contextmenu")
и $(document).on("click")
: document
- это глобальная переменная на веб-страницах, которая ссылается на саму веб-страницу.Это не относится ни к какому содержанию веб-страницы.Эти события будут срабатывать, когда вы щелкаете или щелкаете правой кнопкой мыши в любом месте на странице.
Будьте последовательны в том, как вы устанавливаете прослушиватели событий.
В настоящее время вы делаете это три разныхспособы:
$(selector).on("click")
$(selector).click()
$(selector).on("click", filter)
Выберите один.Лично я предпочитаю $(selector).on("click")
.
Превратить обработчик событий в именованную функцию
Вместо этого:
function faveFunc() {
let addFave = $table.on("click", ".checkbox-class", function(e) {
// ...
})
}
...Я бы сделал это:
function faveFunc(e){
// ...
}
$("#km-table-id.checkbox-class").on("click", faveFunc)
Таким образом, вы можете повторно использовать обработчик событий faveFunc
:
function faveFunc(e){
// ...
}
$("#km-table-id.checkbox-class").on("click", faveFunc)
$("[data-action='add']").on("click", faveFunc)
Вы также можете объединить их в одну функцию, так как jQuery поддерживаетCSS ,
:
$("#km-table-id.checkbox-class, [data-action='add']").on("click", faveFunc)