Добавляем...


Генерирование событий вручную
Для ряда объектов можно генерировать возникновение событий средствами JavaScript. В результате будет выполнено действие, предусмотренное для соответствующего события по умолчанию. Например:

<form id="myForm" name="myForm" action="#" method="get">
<input type="button" id="buttonl" name="buttonl"
value="Нажмите здесь" onclick="alert('Эй, вы, там!');" />
</form>

<script type="text/javascript">
document.myForm.buttonl.click ();
</script>

Этот сценарий генерирует событие click, соответствующее щелчку на кнопке, в результате чего автоматически выводится окно сообщения. Обработчики событий, определенные через атрибуты (X)HTML или с помощью средств JavaScript, доступны сценариям подобно любому методу объекта. Например:

<img name="myButton" id="myButton" alt="button"
src="imageoff.gif" onmouseover="this.src='imageon.gif';"
onmouseout="this.src='imageoff.gif';" />
<form action="#" method="get">
<input type="button" value="Fire Mouseover Handler"
onclick="document.images['myButton'].onmouseover();" />
<input type="button" value="Fire Mouseout Handler"
onclick="document.images['myButton'].onmouseout();" />
</form>

События и элементы, для которых эти события могут быть сгенерированы, показаны в таблице. Некоторые браузеры могут поддерживать больше событий, но в таблице указан минимум, который обычно присутствует обязательно.
Метод события Элементы
click() <input type="button">,
<input type="checkbox">,
<input type="reset">,
<input type="submit">,
<input type="radio">,
<a> (не является частью DOM, но имеет широкую поддержку)
blur() <select>, <input>, <textarea>, <a>
focus() <select>, <input>, <textarea>, <a>
select() <input type="text">,
<input type="password">,
<input type="file">,
<textarea>
submit() <form>
reset() <form>

Особенностью непосредственного генерирования событий для форм является то, что метод submit() не вызывает обработчик события onsubmit формы перед ее отправкой. Так, в следующем примере будут показаны оба окна предупреждения:

<form name="myForm" id="myForm" action="somecgi.cgi" method="get"
onsubmit="alert('Событие onsubmit'); return false;">

<input name="mySubmit" id="mySubmit"
type="submit" value="Submit" onclick="alert('Событие click');" />
</form>
<script type="text/javascript">

document.forms["myForm"].mySubmit.click();
</script>

Но при использовании метода submit() обработчик событий onsubmit вызван не будет, так что в результате выполнения оператора

document.forms["мояФорма"].submit();

форма будет отправлена серверу немедленно. Чтобы решить эту проблему при отправке форм программными методами, придется вручную генерировать вызов соответствующих обработчиков событий.


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика