Как Rafael JS привязывает события к элементам?

#javascript #svg #onclick

#javascript #svg #onclick

Вопрос:

Я проверял свой исходный код на странице, которая использует Rafael js, и некоторые элементы имеют «element.click (handler)» для нескольких элементов, однако я никогда не вижу никаких «onclick=handler ()» или каких-либо событий в элементах svg, так как же он узнает, что нужно вызывать обработчик при нажатии на элемент? Причина, по которой я спрашиваю, заключается в том, что один из моих элементов работает при первом нажатии на него, но после этого не работает. Ошибки js нет, он просто больше не вызывает метод, и я не знаю, как это отладить, поскольку я не могу сказать, исчез ли onclick из элемента или что. Есть идеи?

Спасибо

Ответ №1:

Вы не можете видеть, например. потому что он не использует эту кодировку. Он использует свою собственную функцию addEvent, которая использует addEventListener(FF) или attachEvent (MS) в зависимости от того, в каком браузере выполняется этот код.

В FF / chrome установите плагин firebug и используйте debugger; заявление. Используйте console.log(); или alert(), чтобы представить себе, что происходит в этой функции-обработчике.

И внимательно посмотрите на «это», если вы его используете. ‘This’ изменяет область видимости в зависимости от fun или object.