我只是在测试使用 JavaScript 用另一个页面替换整个页面,我发现这个答案是document.write
. 至于为什么document.write
,我需要替换整个 HTML,包括使用同一页面的脚本和样式。
它做了我想要的,但我似乎无法与我的事件处理程序保持一致。我的处理程序都document
使用:
$(document).delegate(...);
目前,我有奇怪的结果。在我制作的小提琴中,它附加了一个处理程序。单击时,事件触发,重写页面,再次运行该函数 - 但它不附加处理程序。
但是在我的项目中,我正在执行相同的例程(d.w()
,然后添加处理程序)。它确实重新附加一次并且处理程序工作,但是在执行第二个例程(仍在同一页面上)之后,它不再附加。
所以我的问题是:
- 使用时
d.w()
,是否会删除现有的处理程序document
? - s之后是否
window
也一样?或者他们是否以某种方式“更新”document
d.w()
- 已经解析的脚本会留在内存中并在后续
d.w()
s 之后运行吗?还是它们也会被删除?