预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

javaScript,页面自动加载事件详解篇一:javascript动态添加事件往往我们需要在JS中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用。方法一、setAttributevarobj=document.getElementById("obj");obj.setAttribute("onclick","javascript:alert('测试');");这里利用setAttribute指定onclick属性,简单,很好理解,但是:IE不支持,IE并不是不支持setAttribute这个函数,而是不支持用setAttribute设置某些属性,包括对象属性、集合属性、事件属性,也就是说用setAttribute设置style、onclick、onmouseover这些属性在IE中是行不通的。LEO:在IE6下尝试成功方法二、用attachEvent和addEventListenerIE支持attachEventobj.attachEvent("onclick",Foo);functionFoo(){alert("测试");}也可写在一起obj.attachEvent("onclick",function(){alert("测试");});其它浏览器支持addEventListenerobj.addEventListener("click",Foo,false);functionFoo(){alert("测试");}同样也可写在一起obj.addEventListener("click",function(){alert("测试");},false);注意attachEvent的事件带on,如onclick,而addEventListener不带on,如click。顺便说一下addEventListener的第三个参数(虽然很少用)useCapture-如果为true,则useCapture指示用户希望启动捕获。启动捕获后,所有指定类型的事件将在被指派到树中其下面的任何EventTargets之前指派给已注册的EventListener。正在通过树向上bubbling的事件将不触发指定的使用捕获的EventListener。综合应用if(window.attachEvent){//IE的事件代码}else{//其它浏览器的事件代码}方法三、事件=函数例:obj.onclick=Foo;这在多个浏览器中均支持,这是属于旧的规范(方法二属于DOM2的规范),不过由于使用方便,用的场合也比较多。下面是我的解决办法:functionshow(){alert("Hello,world!!!");}obj.setAttribute('onclick',document.all?eval(function(){show()}):'javascript:show()');以上方法在ie8下会出现错误:ie8也支持document.all,但eval(function(){show()})却会出错js用来区别IE与其他浏览器及IE6-8之间的方法。1、document.all2、!!window.ActiveXObject;。!!的作用是把一个其他类型的变量转成的bool类型使用方法如下:if(document.all){alert(”IE浏览器”);}else{alert(”非IE浏览器”);}if(!!window.ActiveXObject){alert(”IE浏览器”);}else{alert(”非IE浏览器”);}下面是区别IE6、IE7、IE8之间的方法:varisIE=!!window.ActiveXObject;varisIE6=isIE&&!window.XMLHttpRequest;varisIE8=isIE&&!!document.documentMode;varisIE7=isIE&&!isIE6&&!isIE8;if(isIE){if(isIE6){alert(”ie6″);}elseif(isIE8){alert(”ie8″);}elseif(isIE7){alert(”ie7″);}}所以obj.setAttribute('onclick',document.all?eval(function(){show()}):'javascript:show()');要改为:一:obj.setAttribute('onclick',document.all&&eval(function(){show()}):'javascript:show()');二:如果不想像上面那样改,也可以将ie8声明为ie7.在head标签上加上<metahttp-equiv="X-UA-Compatible"