为什么要使用window.parent.$

欢迎转载,转载请注明出处:http://www.cnblogs.com/youyoubaishu/p/4498320.html

在使用jQuery的时候,特别是打开了多个window,有时候会发现绑定的事件无法trigger,这个时候,你需要检查$符号的作用域。

简单看一下代码:

var parentWindow = window.parent;
//Before openning new window(Iframe)
$(window.document).on("customEvent", function(){...})

此时,customEvent加载到了父窗口的document上。

在子窗口中trigger:

parentWindow.(parentWindow.document).trigger("customEvent");

此时,必须指定是parentWindow的,如果直接使用将会使用current window 的$,显然,当前窗口的jQuery变量没有绑定自定义事件,事件不会被触发。

这样写也是不行的:

parentWindow.$(window.document).trigger("customEvent");

这样的话,trigger的是当前窗口的event,当前窗口没有绑定事件,所以事件也不是不会被触发的。

时间: 2025-01-11 05:55:35

为什么要使用window.parent.$的相关文章

window.self ->window.top->window.parent

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口. window.self 功能:是对当前窗口自身的引用.它和window属性是等价的. 语法:window.self 注:window.self.window.self是等价的. window.top 功能:返回顶层窗口,即浏览器窗口. 语法:window.top 注:如果窗

window.open被浏览器拦截的解决方案

现象 最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截.何况当出现拦截时,很多小白根本不知道发生了啥,不知道在哪里看被拦截的页面,简直悲催啊~~. 另外,可以发现,当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了. 原因分析&深入研究 当浏览器检测到非用户操作产生的新弹出窗口,则会对其进行阻

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法

关于js中window.location.href,location.href,parent.location.href,top.location.href的用法 "window.location.href"."location.href"是本页面跳转. "parent.location.href" 是上一层页面跳转. "top.location.href" 是最外层的页面跳转. 举例说明: 如果A,B,C,D都是html,D

window对象的几个重要方法

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>JavaScript window对象常用方法及事件</title><script type="text/javascript"> window.onload=function(){//文档加载完成后执行此方法   alert("文档加载完毕了"); }

js 完全分离 window.onload=

js 完全分离  window.onload= <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>TAB菜单</title> <script type="text/javascript"

Js中的window.parent ,window.top,window.self详解

在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口. window.self 功能:是对当前窗口自身的引用.它和window属性是等价的. 语法:window.self 注:window.self.window.self是等价的. window.top 功能:返回顶层窗口,即浏览器窗口. 语法:window.top 注:如果窗

JS的window对象详解

一.说明 他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用"Window.XXX"这种形式,而是直接使用"XXX".一个框架页面也是一个窗口. 二.Window窗口对象有如下属性 1.name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法(见下)决定.一般我们不会用

QT Demo 之 window(5) window.qml

在分析了main.cpp.Splash.Qt.quit()以及ScreenInfo之后,我们终于开始了正题:window.qml. window.qml的主体结构 window.qml主体是一个QtObject,其中包含了4个子元素:palette.controlWindow.testWindow和splashWindow: QtObject { property real defaultSpacing: 10 property SystemPalette palette: SystemPale

解决Window下文件名过长,导致无法删除,打开等问题

由于重装了Win8.1,在C盘会生成window.old的文件夹.本来想删除的,却出现文件名太长无法删除.那就改名呗,右键选择文件,我去,只有打开和发送选项,连属性选项都没有.当然打开和发送功能也不能正常使用. 那就用cmd来改名或删除呗,发现两个操作均由于文件名过长而失败. 由于当时没有截图,事后模拟一下,发现不能再现之前的情况: 后来google一个可行方案:可以使用文件短名来代替长长的文件名. cd C:\Windows\Vss\Writers\Application dir \x #就会