天天看點

JavaScript動态的為元素添加事件

目前的的頁面布局都是基于xhtml,通過div+css布局,實作dhtml的樣式。是以這個javascript動态的為元素添加事件是以而普遍了。下面我說說怎樣通過javascript為元素動态的添加事件.

javascript為元素動态的添加事件包括兩種情況:

不帶參數的事件和帶參數的事件。

一、不帶參數的事件:

兩種方式:直接給對象添加事件,節點添加事件

例如給一個id為tab1的添加onclick事件

第一種情況:

var t = document.getelementbyid("newtitle");

t.onclick = function showmsg(){

    alert('hello!world');

}

第二種情況 這種情況更加動态,更為實用,而且還能添加多個函數(添加的事件的順序即執行順序),呵呵

   var tb = document.getelementbyid("newtitle");

    if(window.addeventlistener){ // mozilla, netscape, firefox

        td_value.addeventlistener('click', alert('cc'), false);

    } else { // ie

        td_value.attachevent('onclick', function(){alert('changchang');});

    }

二、帶參數的事件

這裡的functionname就是事件處理函數,如果是帶參數的那該怎麼辦,

有人說是這樣:

element.onclick=function(sb){

         alert(sb);

     }

是不是上面的那種寫法呢?答案是不正确的。

解決方法:匿名函數:

    element.onclick=function() {

        functionname(param);

    };

這樣就巧妙的通過匿名方法實作了!

直接在頁面上寫入

document.getelementbyid('secondcanton').innerhtml = document

   .getelementbyid('secondcanton').innerhtml

   +"<li onclick='changsecond("+xvalue+")' color='red'>"+xtext+"</li>"

繼續閱讀