javascript(js)函数怎么无法绑定多个onload事件。如下那段代码 我只能执行一个,为什么??

functionpyuansu(){varb=document.getElementById("b")b.innerHTML="<p>This<em>my</em>con... function pyuansu(){
var b=document.getElementById("b")
b.innerHTML="<p>This <em>my</em> content</p>";
}

function shijian(func) {
var oldonload=window.onload;
//这里面没有函数的话 直接执行 下面的语句
if (typeof window.onload !='funciton') {
window.onload=func;}
else {
window.onload=function () {
oldonload();
func();
}
}
}
function shiyan () {
var para=document.createElement("p")//添加新元素
var info="nodename:";
info+=para.nodeName;
info+=" nodeType:"+para.nodeType;
alert(info)
}

shijian(pyuansu);
shijian(shiyan);
已找到问题所在 谢了
展开
 我来答
花痴立迷
推荐于2016-11-04 · 超过11用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:30.5万
展开全部

alert(typeof window.onload) 是oject并不是function ,如果你在

function shijian(func) {
var oldonload=window.onload;
//alert(typeof window.onload);如果你添加这一句,你就能看到两个函数的执行结果,后执行
//shijian(shiyan)覆盖了上一个。
if (typeof window.onload !='funciton') {
window.onload=func;}
    else {
window.onload=function () {
oldonload();
func();
}
}
}

 如果你要同时执行两个onload事件,你要通过现代事件绑定,

function bind(event,func){
if(typeof window.addEventListener != 'undefined'){
window.addEventListener(event,func,false);
}else{
window.attachEvent('on'+event,func);
}
}
function a(){
var a=document.getElementById('a');
a.innerHTML = '你好';
}
function b(){
var a =document.getElementById('b');
a.innerHTML = '我不好';
}
bind('load',a);
bind('load',b);
欧阳寒涵就是周大师
2014-07-30 · TA获得超过215个赞
知道小有建树答主
回答量:260
采纳率:100%
帮助的人:131万
展开全部
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="/js/jquery-1.11.1.min.js"></script>
<script>
window.onload = function(){
a();
b();
}
function a(){
document.getElementById('a').innerHTML = '加载第一个';
}
function b(){
document.getElementById('b').innerHTML = '加载第二个';
}
</script>
</head>

<body>
<div id="a">--</div>
<div id="b">--</div>
</body>
</html>

简单的例子,可以的!那个function确实拼错了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxbvxvcbbvcxb
2014-07-30 · TA获得超过144个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:63.2万
展开全部
window.onload=function () {}属于传统的事件绑定,

每次执行都覆盖了之前已绑定的事件,
可以用window.addEventListener方法绑定多个事件
ie用attachEvent
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕名eib31
2014-07-30 · TA获得超过1923个赞
知道小有建树答主
回答量:1163
采纳率:85%
帮助的人:451万
展开全部
if (typeof window.onload !='funciton') {

这句function拼错了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式