Показать сообщение отдельно
  #22 (permalink)  
Старый 02.01.2012, 17:15
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

B~Vladi,
Ну вот смотри, Опера поддерживает как mousewheel так и DOMMouseScroll.

привожу пример:

function getWheelEvent(){
    var eventType='DOMMouseScroll';
    var listener=function(){
        eventType='myevent';
    }
    var ele=document.createElement('div');
    document.body.appendChild(ele);
    if(ele.addEventListener)ele.addEventListener('myevent',listener,false);
    else if(ele.attachEvent)ele.attachEvent('onmyevent',listener);
    if(document.createEvent&&ele.dispatchEvent){
        var evt=document.createEvent('HTMLEvents');
        evt.initEvent('myevent',true,true);
        ele.dispatchEvent(evt);
    }else ele.fireEvent('onmyevent',event);
    if(ele.removeEventListener)ele.removeEventListener('myevent',listener,false);
    else if(ele.detachEvent)ele.detachEvent('onmyevent',listener);
    document.body.removeChild(ele);
    return eventType;
}
alert(getWheelEvent());
тут ты получишь myevent потому что функция addEvenetListener по стандартам w3c позволяет создавать собственные события и инициировать их. просто пример по аналогии jQuery

$('div').bind('myevent', function(){
    alert("triggered myevent");
});
$('div').trigger('myevent');


тоесть в твоем коде по стандарту initEvent не должен начинаться с префикса on у тебя же оно есть, а событие висит на обычном событие без префикса.
Ответить с цитированием