JavaScript代码加Alert后代码有效,不加则无效。
来源:互联网 发布:淘宝正的潘多拉 编辑:程序博客网 时间:2024/05/18 00:38
这个问题还真是头疼,刚开始觉得好奇怪,同样一段代码,为毛随便alert一下,下面的代码就起作用,去掉alert,啥效果也没有,真是奇了怪了!
先看下代码:
function setDedaultOption() { var select = document.getElementById("nodeId"); //假设我们想要第二个选项为默认选项 select.options[1].selected = true;}
如果直接在其直接调用貌似没啥卵用,假如这么搞:
$(function(){ setDedaultOption();});
你如果是加个alert
$(function(){ alert(""); setDedaultOption();});
这时候你会发现setDedaultOption起作用了。
我想可能是这样的原因,js默认是异步执行的,如果前面某一步没得到结果,下面的代码就不再执行了,加了alert以后,就会强制等待,这时候前面的都执行完毕了,所以我们的代码也可以执行了,于是得到了结果。
所以我们就明白了,不就是等会儿么,那怎么等,setTimeout可解决问题,那么就在调用setDedaultOption的地方这么写:
window.setTimeout(function(){setDedaultOption();}, 500);
这里的意思就是500毫秒以后再执行setDedaultOption,这样就可以运行setDedaultOption的代码了。
当然在网上有很多资料是直接通过异步失效解决问题的,我在工作中还没遇到这样具体的案例,所以就不再展开了。
0 0
- JavaScript代码加Alert后代码有效,不加则无效。
- Android webview调用js代码无效 webView.loadUrl("javascript:alert('hello')")
- Myeclipse中编写struts.xml文件没有代码提示功能及加了DTD约束后依然无效的解决
- Myeclipse中编写struts.xml文件没有代码提示功能及加了DTD约束后依然无效的解决
- python代码后加逗号的作用
- javascript 代码alert([] ==![]);为什么弹出结果为true?
- JavaScript的三种弹窗消息框:alert+prompt+confirm 结合代码
- javascript中alert()提交代码不刷新页面
- flash第一帧加代码时,如果用gotoAndPlay那么第一帧上的代码无效
- Visual Studio 2013 修改代码后无效的问题
- PHP在进行xDebug过程中,临时增加的断点有效,临时改的代码无效
- 一份完整的拍照后加水印代码
- 关于引入的js代码后加?v=01291
- 浏览器先装载后解析javascript代码
- svn有效代码统计
- 统计代码有效行
- 代码中的有效注释
- 统计代码有效行数
- 日常学习linux---vim编辑器---查找替换
- 在eclipse中输入.后没有提示
- git笔记--版本控制
- ToolWindow
- uml(八) 时序图
- JavaScript代码加Alert后代码有效,不加则无效。
- F2查看vendor的包
- Linux内核符号表
- 06-Student Becomes the Teacher
- 关于iOS10 - iMessage App的总结
- Web基础之Calendar的应用
- plugin.xml文件
- 控制台输出乱码
- react生命周期