javascript 添加和移除函數(shù)的通用方法
更新時間:2009年10月20日 15:41:37 作者:
javascript 添加和移除函數(shù)的通用方法, 需要的朋友可以參考下。
//添加函數(shù)的方法
function addEvent( node, type, listener) {
if( node.addEventListener ){
// W3C方法(DOM方法)
//下面語句中的false意思是用于冒泡階段,若是true則是用于捕獲階段(IE不支持捕獲),所以這里用false是一方面的原因是為了統(tǒng)一
node.addEventListener( type, listener, false );
return true;
} else if( node.attachEvent ){
// MSIE方法(IE方法)
node['e' + type + listener] = listener;
node[type + listener] = function (){
node['e' + type + listener](window.event);
};
node.attachEvent('on' + type, node[type + listener]);
return true;
}
//如兩種方法都不具備則返回false
return false;
}
//移除函數(shù)的方法
function removeEvent( node, type, listener) {
if( node.addEventListener ){
node.removeEventListener( type, listener, false );
return true;
} else if( node.detachEvent) {
node.detachEvent('on' + type, listener);
return true;
}
//如兩種方法都不具備則返回false
return false;
}
//添加載入事件的方法如下所示
1.function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!="function"){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
2.//用上面的addEvent方法
addEvent(window, 'load', fn);
function addEvent( node, type, listener) {
if( node.addEventListener ){
// W3C方法(DOM方法)
//下面語句中的false意思是用于冒泡階段,若是true則是用于捕獲階段(IE不支持捕獲),所以這里用false是一方面的原因是為了統(tǒng)一
node.addEventListener( type, listener, false );
return true;
} else if( node.attachEvent ){
// MSIE方法(IE方法)
node['e' + type + listener] = listener;
node[type + listener] = function (){
node['e' + type + listener](window.event);
};
node.attachEvent('on' + type, node[type + listener]);
return true;
}
//如兩種方法都不具備則返回false
return false;
}
//移除函數(shù)的方法
function removeEvent( node, type, listener) {
if( node.addEventListener ){
node.removeEventListener( type, listener, false );
return true;
} else if( node.detachEvent) {
node.detachEvent('on' + type, listener);
return true;
}
//如兩種方法都不具備則返回false
return false;
}
//添加載入事件的方法如下所示
1.function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!="function"){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
2.//用上面的addEvent方法
addEvent(window, 'load', fn);
相關(guān)文章
Chrome插件開發(fā)系列一:彈窗終結(jié)者開發(fā)實戰(zhàn)
從這一節(jié)開始,我們將從零開始打造我們的chrome插件工具庫,第一節(jié)我們將講一下插件開發(fā)的基礎(chǔ)知識并構(gòu)建一個簡單但卻很實用的插件,在構(gòu)建之前,我們先簡單的了解一下插件以及插件開發(fā)的基礎(chǔ)知識2020-10-10在javascript中實現(xiàn)函數(shù)數(shù)組的方法
js不進行類型檢查,數(shù)組可以存放任何東西。于是我就想數(shù)組里可否存放函數(shù)呢,下面就為大家詳細介紹下2013-12-12JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法
這篇文章主要介紹了JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法,涉及JavaScript遍歷及動態(tài)修改頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09BootStrap table刪除指定行的注意事項(筆記整理)
在前端開發(fā)中遇到這樣的問題,對于table指定行的數(shù)據(jù)進行刪除,花了好長時間才解決,今天小編抽時間給大家介紹BootStrap table刪除指定行的注意事項,需要的朋友參考下吧2017-02-02