Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2013, 01:03
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

собственное событие
Хотел начать эту тему приблизительно так - "я немного понимаю", но сам подумал и посмеялся, что тогда надо писать - "хот нэмного понымаю". я вообще не понимаю js , он похож немного на то с чем я знаком, но это только на первый взгляд. По этому я прошу помочь мне разобраться.
Первым делом посмотрел в учебнике, но там очень мало и в основном на каком то jQuery. С начала я обрадовался тому, что там на первый взгляд просто и Кросбраузерно, но потом почитал и так и не понял, работает он в чистом js или только js + html. По этому я стал искать дальше и нашёл примеры, которые мне знакомы по принципу, но как их правильно написать я не знаю.
Вот как предлагают создавать само событие:
function CustomEvent ( event, params ) {
        params = params || { bubbles: false, cancelable: false, detail: undefined };
        var event = document.createEvent( 'CustomEvent' );
        event.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
        return event;
    }

Теперь как бы нужно создать обьект и начать слушать...
var obj = {};
    obj.addEventListener("cat", foo);
    function foo(e)
    {
        console.log('events')
    }
    dispatchEvent(new CustomEvent("cat"));

И я понимаю на сколько это будет смешно и нелепо, для того кто знает как правильно писать, но я вижу это так как написал выше. Что не так? Что нужно подправить?
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2013, 01:54
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

Осилил, может кому то вроде меня поможет :
function MyEvents()
{
    function TestEvent ( event,  params ) {
        params = params || { bubbles: false, cancelable: false, detail: undefined};
        var e = document.createEvent( 'CustomEvent' );
        e.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
        return e;
    }
    var obj = addEventListener("test", testHandler);
    function testHandler(e)
    {
        console.log(e.type , e.detail);
    }
    this.test = function( $e ,$detail)
    {
        dispatchEvent( new TestEvent( $e ,{ bubbles: false, cancelable: false, detail: $detail} ) );
    }

}
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2013, 12:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Чистые объекты не реализуют интерфейс EventTarget, который нужен для генерации событий и подписки на них. Этот интерфейс реализован только для DOM-элементов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие input и IE10 kobezzza Internet Explorer 2 21.03.2013 19:02
Событие live byzyk jQuery 6 03.08.2012 13:18
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13