您的位置:首页 > Web前端 > JavaScript

js代码中加入alert()就成功执行,不加就不对的问题

2011-01-14 15:29 441 查看
问题:

我在做一个项目,有两个窗口,一个主窗口,一个在主窗口中用window.open打开的子窗口.现在需要在主窗口中处理完相应事件后,调用子窗口的相应的函数,来传递一些信息,并修改子窗口的一些内容。因为是在主窗口的javascript代码中做的,发现调用子窗口的函数后,子窗口的内容并没有改变,而在主窗口的javascript调用子窗口函数的代码前加入alert()执行后,子窗口内容正确的被改变了。

可能情况:

这种情况一般出现在 alert() 之后的某个代码需要页面元素进入一定的状态才能使用,加上 alert() 之后,相当于页面元素有足够的时间进入一定的状态了,如果确定你的代码没有问题,你可以把 alert() 之后的代码放到一个 setTimeout 的函数中,也就是停一会再运行下面的代码,应该就没问题了。

解决方法:

按照上面所说的,我的情况应该就是子窗口页面元素还没有加载好,就调用了改变子窗口页面内容的方法,导致没有效果。

把相应代码放在setTimeout()中,延迟一秒执行,一切正常了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: