Один клик обработчик для нескольких кнопок и прекратить распространение события до родителя?
Я генерирую кучу элементов "li" в результате вызова ajax. Они похожи:
<li>
<p>Hello result 1</p>
<button>remove</button>
</li>
<li>
<p>Hello result 2</p>
<button>remove</button>
</li>
...
Могу ли я создать обработчик одного клика, который будет вызываться при нажатии любого из элементов "кнопки" элемента "li", а также прекратит распространение события click до родительского элемента "li"? Что-то вроде:
function btnClicked() {
var liItem = this.parent; // ideally is the <li> whose button was clicked.
return true; // don't let click event go up to <li> parent?
}
----------------- Редактировать ---------------------
Кроме того, я не уверен, что если я собираюсь использовать элемент button, можно вместо этого использовать кликабельный элемент div в качестве кнопки - хотя одинаковые методы должны работать для обоих, правда?
Спасибо
1 ответ
Решение
$('li').click(function(event) {
//do something
event.stopPropagation()
});
Это будет работать в jQuery. Вы хотите изменить li
выбрать только li
предметы, которые вы хотите.