Google maps
Доброго времени суток =)
Мужики, нужна помощь ( для знатоков Google.map ) создаю new GPolyline создаю event GEvent.addListener( GPolyline, 'mousemove', Handler ) ; function Handler( evt ) { evt || ( evt = window.event ) ; ... } под IE ясно что event будет, а как под FF вытащить evt или сделать чтобы он туда передавался ? |
Виталий,
Дык в нормальные браузеры обьект события передается в хэндлер уже сам. И это, кстати, отражено в заголовке функции. Так что все, что вам надо, это переписать чуть-чуть, вот так: function Handler (evt) { evt = evt || window.event; //... } И, самое главное, Виталий, — есть мнение, что разработчики Google Maps API уже всю кроссбразуерную работу сделали для вас, и в хэндлере вам надо просто обращаться к этому самому аргументу evt, чтобы получить обьект события:) |
Цитата:
evt = evt || window.event и evt || ( evt = window.event ) в данном контексте одно и то же, написал же evt под FF не передается т.к. обработчик Handler's у них свой ... если не понятно, могу выложить пример =) |
Из описания Google Map API
GEvents GPolyline Events Arguments click latlng mouseover none mouseout none в случае onclick если использовать тот же handler, то вместо evt придет Arguments latlng , как под FF так и под IE |
Никогда не поверю, что в обработчике, навешанном не через attachEvent(), а через какую-то библиотеку, да еще вышедшую из недр Гугла, первым аргументом не идет собсно событие.
Код в студию. Гмапс или не гмапс, JS везде один и тот же. |
где ты в коде нашел attachEven ?
|
если не сработает так
function() { var ev = arguments[0] || window.event; } то значит функция не привязывается к объекту непосредственно, а добавляется в стек и затем вызывается внутри гугловского обработчика, и непосредственно в этой функции объект-событие получить не удастся. |
Цитата:
|
Часовой пояс GMT +3, время: 21:32. |