javascript получить последнее событие (FF)
От: игппук Беларусь  
Дата: 24.04.09 08:32
Оценка:
в IE получить последнее событие можно при помощи window.event. FF такого проперти не поддерживает, поэтому возникла проблема.

покопался в интернете, там везде советуется повесить на контрол обработчик, который уже в качестве элемента получает это событие, а внутри функции сделать чтото типа такого

function (e)
{
var e1 = e || window.event;
...
}


проблема заключается в том, что моя функция не принимает аргументов. точнее, она не совсем моя, но фиксить ее нужно мне. не принимает она аргументов по той причине, что вызывается она не из обработчика контрола, а из других мест. например — из валидатора. повлиять на код валидатора я тоже не могу. поэтому требуется javascript код, который вытащит последнее событие на странице (а из него уже надо будет получить id элемента, который это событие вызвал), и который будет работать на FF.

кто знает, или хотя бы посдкажет, в какую сторону копать?

спасибо.
проклятый антисутенерский закон
Re: javascript получить последнее событие (FF)
От: Mamut Швеция http://dmitriid.com
Дата: 24.04.09 08:59
Оценка:
и> проблема заключается в том, что моя функция не принимает аргументов. точнее, она не совсем моя, но фиксить ее нужно мне. не принимает она аргументов по той причине, что вызывается она не из обработчика контрола, а из других мест. например — из валидатора. повлиять на код валидатора я тоже не могу. поэтому требуется javascript код, который вытащит последнее событие на странице (а из него уже надо будет получить id элемента, который это событие вызвал), и который будет работать на FF.

и> кто знает, или хотя бы посдкажет, в какую сторону копать?


и> спасибо.




Подменить эту функцию своей. Пример:

function f(){ alert("Функция F"); }

var old_f = f;

function myfunction(e){ alert("Моя функция"); old_f(); }

var f = myfunction;

f();


Подмену совершить до тго, как эта функия будет вызываться
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
Re[2]: javascript получить последнее событие (FF)
От: игппук Беларусь  
Дата: 24.04.09 09:18
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Подменить эту функцию своей.

M>Подмену совершить до тго, как эта функия будет вызываться

и как вызвать функцию-подменку? кто и как ей отдаст в качестве параметра событие?
поясню. есть фрэймворковский кастом-валидатор. у него в качестве параметра прописана моя функиця, которая принимает аргументы для этого валидатора. так как эти аргументы бесполезны, то можно считать, что их нет. фактически, событие нужно получить внутри функции. оно и получается при помощи window.event, которое работает в IE, но не работает в FF.
проклятый антисутенерский закон
Re[3]: javascript получить последнее событие (FF)
От: Mamut Швеция http://dmitriid.com
Дата: 24.04.09 11:05
Оценка:
Здравствуйте, игппук, Вы писали:

и> M>Подменить эту функцию своей.

и> M>Подмену совершить до тго, как эта функия будет вызываться

и> и как вызвать функцию-подменку? кто и как ей отдаст в качестве параметра событие?

и> поясню. есть фрэймворковский кастом-валидатор. у него в качестве параметра прописана моя функиця, которая принимает аргументы для этого валидатора. так как эти аргументы бесполезны, то можно считать, что их нет. фактически, событие нужно получить внутри функции. оно и получается при помощи window.event, которое работает в IE, но не работает в FF.


Ну, помимо предложенного мной, можно еще исползьовать и свойство arguments:
function f(){alert(arguments[0]);}

f("Hello, world");
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.