javascript 添加和移除函數(shù)的通用方法
更新時(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)文章
Javascript中正則表達(dá)式的應(yīng)用詳解
這篇文章主要為大家詳細(xì)介紹了Javascript中正則表達(dá)式的應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02Chrome插件開發(fā)系列一:彈窗終結(jié)者開發(fā)實(shí)戰(zhàn)
從這一節(jié)開始,我們將從零開始打造我們的chrome插件工具庫,第一節(jié)我們將講一下插件開發(fā)的基礎(chǔ)知識并構(gòu)建一個簡單但卻很實(shí)用的插件,在構(gòu)建之前,我們先簡單的了解一下插件以及插件開發(fā)的基礎(chǔ)知識2020-10-10在javascript中實(shí)現(xiàn)函數(shù)數(shù)組的方法
js不進(jìn)行類型檢查,數(shù)組可以存放任何東西。于是我就想數(shù)組里可否存放函數(shù)呢,下面就為大家詳細(xì)介紹下2013-12-12JS實(shí)現(xiàn)jQuery的append功能
jQuery中可以直接使用$el.append()為元素添加字符串型dom, 但是最近轉(zhuǎn)戰(zhàn)Vue, 再使用jQuery明顯不合適了, 所以通過查找資料, 封裝一個可以實(shí)現(xiàn)同樣效果的方法.2021-05-05JS實(shí)現(xiàn)橫向與豎向兩個選項(xiàng)卡Tab聯(lián)動的方法
這篇文章主要介紹了JS實(shí)現(xiàn)橫向與豎向兩個選項(xiàng)卡Tab聯(lián)動的方法,涉及JavaScript遍歷及動態(tài)修改頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09BootStrap table刪除指定行的注意事項(xiàng)(筆記整理)
在前端開發(fā)中遇到這樣的問題,對于table指定行的數(shù)據(jù)進(jìn)行刪除,花了好長時(shí)間才解決,今天小編抽時(shí)間給大家介紹BootStrap table刪除指定行的注意事項(xiàng),需要的朋友參考下吧2017-02-02