Jottings

1. 采用addEventListener将同一个函数多次绑定在同一个元素上(相同阶段), 执行一次

    i.addEventListener('click', fun, false);

    i.addEventListener('click', fun, false);

fun只被调用1次

   解绑只需一次

   i.removeEventListener('click', fun, false);  

 

   i.addEventListener('click', fun, false);

   i.addEventListener('click', fun, false);

   i.addEventListener('click', fun, true);

   i.addEventListener('click', fun, true);

fun被调用2次, 捕获阶段一次,冒泡阶段一次

   解绑需2次,捕获阶段1次,冒泡阶段1次

i.removeEventListener('click', fun, false);

i.removeEventListener('click', fun, true);

 

2. 采用attachEvent将同一个函数多次绑定在同一个元素上 ,  执行多次

    i.attachEvent('onclick', fun);

    i.attachEvent('onclick', fun);

    i.attachEvent('onclick', fun);

fun被执行3次

    要采用多次detachEvent解绑

 

3. 采用onclick将同一个函数多次绑定在同一个元素上 ,  执行一次(不论ie还是chrome)

    i.onclick = fun;

    i.onclick = fun;

    i.onclick = fun;

fun被执行1次,

    解绑只要1次,i.onclick = null

 

 4. onclick 和addEventListener绑定事件时,函数内部this指向dom元素,

     attachEvent绑定事件时,函数内部this指的是window

你可能感兴趣的:(in)