javascript – 如何创建在document.write中存活的JS事件侦听器?
作者:互联网
我正在向窗口对象附加一个事件监听器.然后在脚本中,正在使用document.write. (我知道,这很邪恶.我在此事上别无选择.)问题是,document.write消灭了我的听众.有可能避免这种情况吗?
这是一个说明问题的小提琴:http://jsfiddle.net/Fuhzu/
解决方法:
这是不可能的. document.write卸载当前文档,并创建一个新文档.
确认的演示:http://jsfiddle.net/Gk3cX/
window.test = document; //Cache document
document.write('<button onclick="alert(window.test===document)">CLick</button>');
// Clicking shows false! The document has changed!
在没有卸载的情况下覆盖当前文档的唯一选择是innerHTML:
document.body.innerHTML = "Overwritten document's content, kept events.";
标签:document-write,javascript,events 来源: https://codeday.me/bug/20190902/1792234.html