Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Порядок выполнения функций на событие, Порядок выполнения функций на событие 
:(
    Опции темы
fclmfan
Дата 23.11.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Werdum face
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 64
Регистрация: 21.10.2008

Репутация: нет
Всего: нет



здрасьте всем!!!
добавляю функцию динамически. как сделать так чтобы она выполнялась вначале, перед статической? а то в этом примере при клике выполняется сначала alert(1), а уж потом alert(2), а надо наоборот....
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script>
function init(){
    var frm=document.fm;
    frm.btn1.attachEvent("onclick", function(){alert(2)});
}
</script>
</head>

<body onload="init()">
<form name="fm">
    <input type="button" name="btn1" value="btn1" onclick="alert(1)" />
</form>
</body>
</html>

PM   Вверх
Aliance
Дата 23.11.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Порядок не указать никак. Более того, не стоит полагать, что добавив две функции на одно и тоже событие одинаковым способом 2 раза подряд - обязательно одна всегда будет выполняться первой — это не так!
В Вашем примере можно было бы сделать примерно так:
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script>
function init(){
    var frm=document.fm;
    // запоминаем что уже есть у элемента
    var tmpClick = frm.btn1.onclick;
    // удаляем это
    frm.btn1.detachEvent("onclick");
    // добавляем свое, а потом вызываем что было
    frm.btn1.attachEvent("onclick", function(){alert(2);tmpClick();});
}
</script>
</head>
<body onload="init()">
<form name="fm">
    <input type="button" name="btn1" value="btn1" onclick="alert(1)" />
</form>
</body>
</html>


Написал на псевдо JS, код не рабочий, идея пояснена в комментариях.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.