08.10.2008, 19:35
|
Аспирант
|
|
Регистрация: 20.07.2008
Сообщений: 30
|
|
Google maps
Доброго времени суток =)
Мужики, нужна помощь ( для знатоков Google.map )
создаю new GPolyline
создаю event GEvent.addListener( GPolyline, 'mousemove', Handler ) ;
function Handler( evt ) {
evt || ( evt = window.event ) ;
...
}
под IE ясно что event будет, а как под FF вытащить evt или сделать чтобы он туда передавался ?
|
|
08.10.2008, 19:43
|
Профессор
|
|
Регистрация: 18.04.2008
Сообщений: 152
|
|
Виталий,
Дык в нормальные браузеры обьект события передается в хэндлер уже сам. И это, кстати, отражено в заголовке функции.
Так что все, что вам надо, это переписать чуть-чуть, вот так:
function Handler (evt) {
evt = evt || window.event;
//...
}
И, самое главное, Виталий, — есть мнение, что разработчики Google Maps API уже всю кроссбразуерную работу сделали для вас, и в хэндлере вам надо просто обращаться к этому самому аргументу evt, чтобы получить обьект события
|
|
08.10.2008, 20:35
|
Аспирант
|
|
Регистрация: 20.07.2008
Сообщений: 30
|
|
Сообщение от hogart
|
Виталий,
Дык в нормальные браузеры обьект события передается в хэндлер уже сам. И это, кстати, отражено в заголовке функции.
Так что все, что вам надо, это переписать чуть-чуть, вот так:
function Handler (evt) {
evt = evt || window.event;
//...
}
И, самое главное, Виталий, — есть мнение, что разработчики Google Maps API уже всю кроссбразуерную работу сделали для вас, и в хэндлере вам надо просто обращаться к этому самому аргументу evt, чтобы получить обьект события
|
Блин, яж написал для тех кто разбирается в google map
evt = evt || window.event и evt || ( evt = window.event ) в данном контексте одно и то же, написал же evt под FF не передается т.к. обработчик Handler's у них свой ...
если не понятно, могу выложить пример =)
|
|
08.10.2008, 20:40
|
Аспирант
|
|
Регистрация: 20.07.2008
Сообщений: 30
|
|
Из описания Google Map API
GEvents GPolyline
Events Arguments
click latlng
mouseover none
mouseout none
в случае onclick если использовать тот же handler, то вместо evt придет Arguments latlng , как под FF так и под IE
|
|
08.10.2008, 20:45
|
Профессор
|
|
Регистрация: 18.04.2008
Сообщений: 152
|
|
Никогда не поверю, что в обработчике, навешанном не через attachEvent(), а через какую-то библиотеку, да еще вышедшую из недр Гугла, первым аргументом не идет собсно событие.
Код в студию.
Гмапс или не гмапс, JS везде один и тот же.
|
|
08.10.2008, 20:47
|
Аспирант
|
|
Регистрация: 20.07.2008
Сообщений: 30
|
|
где ты в коде нашел attachEven ?
|
|
08.10.2008, 21:14
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
если не сработает так
function() {
var ev = arguments[0] || window.event;
}
то значит функция не привязывается к объекту непосредственно, а добавляется в стек и затем вызывается внутри гугловского обработчика, и непосредственно в этой функции объект-событие получить не удастся.
|
|
09.10.2008, 13:24
|
Аспирант
|
|
Регистрация: 20.07.2008
Сообщений: 30
|
|
Сообщение от Octane
|
если не сработает так
function() {
var ev = arguments[0] || window.event;
}
то значит функция не привязывается к объекту непосредственно, а добавляется в стек и затем вызывается внутри гугловского обработчика, и непосредственно в этой функции объект-событие получить не удастся.
|
Да, да, да... это я уже и писал =), увы - пришлось написать бубен :cool:
|
|
|
|