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


Область видимости обработчика событий
Как уже обсуждалось в ранее, контекстом выполнения сценария обычно является объект Window, в котором находится текст этого сценария. Но сценарий, включенный в текст обработчика события, имеет контекст объекта, к которому этот обработчик привязан. Таким образом, this вместо указания на window будет в данном случае указывать на объект, представляющий элемент. Например, в сценарии

<script type="text/javascript">
<!--
window.name = "My Window";
// -->
</script>
<p name="Параграф" onmouseover="alert(this.name);">
Наведи на меня!
</p>

Если обработчики событий определены в рамках <script> и требуют доступа к элементу, в котором происходит соответствующее событие, просто передайте им значение this, как показано в предыдущем примере. В Netscape 4+, Internet Explorer 4+ и браузерах, обеспечивающих поддержку стандартов, можно также использовать свойства объекта Event и с их помощью получить аналогичную информацию. Как это сделать, мы поясним позже, в разделах, посвященных фирменным моделям событий и модели DOM2.

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

<script type="text/javascript">
<!--
window.name = "My Window";
function showThisName()
{
alert(this.name);
}
// -->
</script>
<p name="Это параграф" onmouseover="showThisName();">
Наведи на меня!</p>


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


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

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


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







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