Один клик обработчик для нескольких кнопок и прекратить распространение события до родителя? - PullRequest
2 голосов
/ 24 июня 2010

Я генерирую кучу элементов "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?
}

----------------- Редактировать ---------------------

Кроме того, я не уверен, что если я собираюсь использовать элемент кнопки, может вместо этого использовать в качестве кнопки интерактивный элемент div - хотя одинаковые методы должны работать для обоих, правда?

Спасибо

1 Ответ

2 голосов
/ 24 июня 2010
$('li').click(function(event) {
//do something
event.stopPropagation()
});

Это будет работать в jQuery.Вам нужно изменить li, чтобы выбрать только те элементы li, которые вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...