这个答案https://stackoverflow.com/a/4196018/545430表明"这个"在JQuery回调中使用时,对象将引用要添加回调的所选元素。但是,在设置子窗口的就绪回调时,这似乎不起作用:
var new_window = window.open('./NewWindow.aspx', '_blank');
$(new_window.document).ready(function () {
console.dir(this);
});
在上面的示例中,这显然是父窗口的文档,而不是" NewWindow"文档。
答案 0 :(得分:2)
'准备好'事件正在文件中发生 https://learn.jquery.com/using-jquery-core/document-ready/
如果您想在事件处理程序中使用不同的内容覆盖this
,则必须bind
不同的上下文:
var new_window = window.open('./NewWindow.aspx', '_blank');
$(new_window.document).ready(function () {
console.dir(this);
}.bind(new_window));
更多详情https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind