Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вызвать функцию с параметром?
 
 автор: Denis_Gorby   (05.05.2006 в 11:10)   письмо автору
 
 

Здравствуйте.

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

Подскажите, пожалуйста, как это можно сделать, а то что-то никак не соображу.

Заранее спасибо,
Денис.

   
 
 автор: AlexSol   (05.05.2006 в 11:17)   письмо автору
 
   для: 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>

   
 
 автор: Denis_Gorby   (05.05.2006 в 11:26)   письмо автору
 
   для: 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 ?
}

   
 
 автор: RMW   (05.05.2006 в 17:26)   письмо автору
 
   для: Denis_Gorby   (05.05.2006 в 11:26)
 

function EventOccurs(success)
{
// Как здесь вызвать eventHandler, передав ему параметр success ?
// Возможно так, т.е ничего не усложняя.
eventHandler(success);
}

   
 
 автор: 12345   (05.05.2006 в 18:31)   письмо автору
 
   для: 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>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования