javascript - 添加 alert() 使 "not working script"正常工作

标签 javascript alert

我需要重写几年前编写的代码以使用现代浏览器。该站点包含几个 Javascript 文件。

其中有一段代码是这样的——它动态生成 DOM 元素:

createTabs();
createTabsContent();

现在,我在 Chrome 中打开网站,在页面加载后,我尝试通过

更改一些新生成的元素样式
document.getElementById('element').style.display = 'none';

它不起作用 - 无论是表单脚本还是 Chrome 控制台。是的,ID 为#element 的元素存在于 DOM 中)。奇怪的是——Chrome 没有报告任何错误。

但是,当我修改代码并执行类似操作时:

alert('test'); //i put alert here 
createTabs();
createTabsContent();
//alert('test'); // or put it here

一切正常。

在其他浏览器中:IE8、FF、Opera 一切正常,也没有错误。 我使用 jQuery document.ready,然后尝试使用 window.onload 事件 - 但它们失败了 - 没有任何改变。

什么可能导致这种行为?

最佳答案

这种与 DOM 相关的东西不起作用,但在添加警报时开始起作用的症状通常可以通过推迟第二步来解决:

this.foo();
var me = this;
setTimeout(function() { me.bar(); }, 0); // Whatever library you're using may provide a cleaner way of deferring execution.

IE 尤其容易出现无法立即与之交互的情况。我在 Chrome 中并没有真正遇到过。

关于javascript - 添加 alert() 使 "not working script"正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3761490/

相关文章:

javascript - XSLT if 语句不正确匹配

javascript - 如何编写一个函数来创建一定长度的对象数组?对象具有自定义生成的数据

ios - 在应用程序开始时管理警报事件

javascript - 空警报改变函数行为

javascript - Cordova、Android 和无缝/无缝的声音循环

JavaScript 基本变量返回用户输入的值

javascript - 获取 Promise 的值?

c# - Windows Phone 8 中的弹出窗口

javascript - 警报按钮没有响应

javascript - 英特尔 XDK 警报 API 不起作用