Я не думаю, что вам будет слишком много удачи в достижении того, что вы хотите с live()
, поскольку jQuery поддерживает только всплывающее окно событий, а не захват событий . Решение о проекте было, вероятно, связано с тем, что IE не поддерживает захват событий, хотя спецификация W3C обладает гибкостью для обоих.
Лучше всего прикрепить событие click к кнопке удаления сразу после того, как она вставлена в DOM (чтобы остановить распространение события), прежде чем вы снова включите аккордеон. Возможно, вам придется позаботиться о том, чтобы не связывать событие нажатия с существующими кнопками удаления несколько раз.
Псевдокод будет выглядеть примерно так:
- вызов
.accordion('destory')
на текущем аккордеоне
- создать новый элемент, т.е.
<h2>...<a class="revmoe">...</a></h2><div>...</div>
- вставить новый элемент в существующую гармошку
- привязать событие click к кнопке удаления в новом элементе, чтобы остановить распространение события
- начать аккордеон, то есть
.accordion({..})
ТАК сообщения о захвате событий в jQuery: