Добавление нового ответа, который будет охватывать больше случаев использования, особенно когда вы хотите использовать функции стрелок.
Также рекомендуется не добавлять щелчок JS в элемент li. Вместо этого вы должны использовать кнопку или привязку (что-то кликабельное), вложенные в этот элемент.
Поскольку элемент, по которому вы щелкаете, может быть дочерним, вам необходимо убедиться, что вы выбрали правильный элемент.
В моем примере я назначу щелчок для кнопки внутри li, а также для ее класса. Разметка будет просто:
<ul id="taglist">
<li><button class="tag-button">Tag 1</button></li>
<!-- ... -->
</ul>
Тогда JavaScript:
$('#tagList li button.tag-button').click((e) => {
const thisButton = $(e.target).hasClass('tag-button')
? $(e.target) : $(e.target).closest('.tag-button');
// do something with thisButton
});
Это гарантирует, что вы нацеливаетесь на элемент, на котором был зарегистрирован клик. Если внутри вашей кнопки есть какая-либо вложенная разметка (например, или), то возможно, что целью события будет вложенный элемент, а не элемент, которому вы хотите назначить щелчок.