|
|
|
| Здравствуйте.
JavaScript. Возникла необходимость сохранять в переменной некоторую функцию (заранее неизвестную), а потом, по наступлении определенного события, эту функцию вызывать, причем передать в нее параметр.
Подскажите, пожалуйста, как это можно сделать, а то что-то никак не соображу.
Заранее спасибо,
Денис. | |
|
|
|
|
|
|
|
для: Denis_Gorby
(05.05.2006 в 11:10)
| | function lala(par1,par2){
summ = par1+par2;
alert(summ);
}
<a href="#" onClick="lala(4,5);return false">summm</a> | |
|
|
|
|
|
|
|
для: AlexSol
(05.05.2006 в 11:17)
| | Видимо, я недостаточно верно сформулировал вопрос.
Собственно, мне и нужно реализовать что-то вроде события onClick в Вашем примере. То, какой обработчик будет этому событию назначен, я не знаю заранее. Мне нужно его вызвать, как здесь обработчик onClick вызывает функцию lala.
Мне нужно что-то вроде этого.
// Здесь храним обработчик
var eventHandler;
// Здесь его назначаем
function AssignEventHandler(func)
{
if (typeof(func) != 'function' return;
eventHandler = func;
}
// А здесь вызываем обработчик после наступления события
function EventOccurs(success)
{
// Как здесь вызвать eventHandler, передав ему параметр success ?
} | |
|
|
|
|
|
|
|
для: Denis_Gorby
(05.05.2006 в 11:26)
| | function EventOccurs(success)
{
// Как здесь вызвать eventHandler, передав ему параметр success ?
// Возможно так, т.е ничего не усложняя.
eventHandler(success);
} | |
|
|
|
|
|
|
|
для: RMW
(05.05.2006 в 17:26)
| | Лучше так:
<script>aa=function(){alert('Не определена');} //пустая функция
function AssignEventHandler2(func){
aa=new Function('a' /*параметр*/, func);
}
</script>
<br><br><br><br>
<a href=# onclick=AssignEventHandler2('alert(a*a*a);');return!1>Возведение в куб</a><br>
<a href=# onclick=AssignEventHandler2('alert(a*a);');return!1>Возведение в квадрат</a><br>
<a href=# onclick=aa(5);return!1>Выполнить с аргументом (параметром) 5</a><br>
|
| |
|
|
|