Я просто тестирую замену целой страницы другой страницей с использованием JavaScript и I found this answer с document.write
. Что касается того, почему document.write
, мне нужно было заменить весь HTML, включая скрипты и стили, используя одну и ту же страницу.document.write и делегированный обработчик обработчика событий
Он делает то, что я хочу, но я не могу показаться, что он совместим с обработчиками событий. Мои обработчики все подключенные к document
с помощью:
$(document).delegate(...);
В настоящее время у меня есть странные результаты. In a fiddle I made, он прикрепляет обработчик. При щелчке событие срабатывает, перезаписывает страницу, снова запускает функцию, но не прикрепляет обработчик.
Однако в моем проекте я выполняю ту же процедуру (d.w()
, а затем добавляю обработчики). Он повторно подключается, и обработчики работают, но после выполнения второй процедуры (все еще на той же странице) она больше не прикрепляется.
Так что мои вопросы:
- При использовании
d.w()
, делают существующие обработчики стираются изdocument
? - Есть
window
а такжеdocument
то же после последующихd.w()
s? или они как-то «обновлены» - Есть ли скрипты, которые уже разобраны, остаются в памяти и запускаются после последующих
d.w()
? Или они тоже стираются?
'$ (документ) .find ("пролетных")' возвращает '1' в обоих случаях, когда' patch' запущен, но почему-то '.delegate' не работает во второй раз. – pimvdb