передача this в addEventListener
Взгляните пожалуйста на мой бред
Читал что проблемы в ие при передаче this в обработчик. Есть набор Checkboxs и я им назначаю обработчик
checkboxs=document.getElementsByTagName('input')
for(i=0;i<checkboxs.length;i++){
if(checkboxs[i].addEventListener){
checkboxs[i].addEventListener('click',handler(i),false)
}
else{
checkboxs[i].attachEvent('onclick',handler(i))
}
}
В обработчик я хочу предать параметр ,которЫй равен текущей позиции в массиве. Теперь внутри функции я хочу получать доступ к текущему checkbox через checkboxs[index]
function handler(index){
document.getElementById('val').value=checkboxs[index]
}
Но не выходит |
var checkboxs = document.getElementsByTagName('input'),
eventType = document.addEventListener ? ["addEventListener", ""] : ["attachEvent", "on"];
for( var i = 0; i < checkboxs.length; i++ ) {
checkboxs[ i ][ eventType[ 0 ] ]( eventType[ 1 ] + "click", function( e ){
e = e || window.event;
handler.call( e.target || e.srcElemnt, e );
}, false );
}
function handler( e ){
document.getElementById('val').value = this.value;
}
|
:) спс ,сейчас буду разбираться.
|
| Часовой пояс GMT +3, время: 00:35. |