discuz加载多个window.onload = function () {}事件冲突的解决方
发布时间:12/03 来源: 浏览:
关键词:
最近在学写discuz的插件,弄了个幻灯片js,需要用到window.onload = function ();结果跟discuz的冲突了。
window.onload = function (){ alert( '跟DZ的冲突了,弹不出来!by www.moke8.com' ) }; |
本来就不太熟JS,搞了半天不知道咋办,后来网上看到下面这个方法解决了。
function hehe() { alert( '呵呵' ); } function haha() { alert( '哈哈' ); } if (document.all) { window.attachEvent( 'onload' ) } else { window.addEventListener( 'load' , haha, false ); window.addEventListener( 'load' , hehe, false ); } |
另一种也可以试试
< html > < head > < title >test</ title > < script language = "javascript" > window.onload = function() { alert('1'); }; </ script > </ head > < body > < h1 >呵呵</ h1 > < script type = "text/javascript" > var saved; if (typeof window.onload == 'function') { saved = window.onload; } window.onload = function() { if (saved) saved(); alert('2'); }; </ script > </ body > </ html > |
成功解决了DISCUZ和自己调用的window.onload = function ()冲突问题。