Что такое click () в JavaScript

Я играл с JavaScript в FireFox и столкнулся с проблемой, которая проиллюстрирована в следующем примере:

<HEAD>
<script type="text/javascript">
function click()
{
    alert("click");
}

</script>
</HEAD>

<BODY>

<input type="radio" onclick="click()">
</BODY>

Когда я нажимаю на кнопку радио, ничего не происходит, и никаких ошибок (в Firebug)

Если я изменю название функции на do_click, и поменяю onclick, то получу предупреждение.

Итак, вопрос: что происходит? щелчок не является зарезервированным словом или существующим символом

Ответы на вопрос(5)

что метод click () в javascript имитирует нажатие кнопки. Так что это должно быть своего рода бесконечный цикл ...

Отредактировано, чтобы добавить: ПроверитьMSDN для документации метода щелчка

Решение Вопроса

как если бы он находился вwith блок.

Поэтому в рамкахonclick обработчик, имяclick разрешает к элементуclick метод.

Это может бытьпродемонстрировал написавalert(nodeName) в обработчике

 Crescent Fresh05 февр. 2010 г., 02:59
Есть очень много свойств, свисающих с узла DOM. Если обработчик щелчка просто пытался установить глобальную переменную, имя которой совпадает с одним из свойств узлов (например,innerHTML), Что ж....дерьмо.
 SLaks05 февр. 2010 г., 03:05
Еще одна причина не помещать какой-либо реальный код во встроенный обработчик.
 SLaks05 февр. 2010 г., 02:57
Я тоже, пока не прочитал вопрос.
 Crescent Fresh05 февр. 2010 г., 02:56
Святой * яникогда знал это. Даже ведет себя так же в IE. Это кажется таким опасным сейчас ....

зарезервированное ключевое слово вне контекста встроенного обработчика событий, как ответил Слакс.

То есть метод click, определенный в вопросе, действителен. Присоединение обработчика событий «извне» будет работать. Например. используя jQuery:

$('input').click(click);

что click () - это зарезервированное имя процедуры, поэтому вы не можете перезаписать его. Объясняет, почему смена имени и ничего больше не заставляет его работать.

 bryantsai05 февр. 2010 г., 02:53
«не могу перезаписать» не правильно. просто цель другая.

нажмите () метод.

Следующее покажет, что щелчок является нативным методом:

<input type="radio" onclick="alert(click.toString())">

Вы можете зарегистрировать свою функцию щелчка как обработчик события следующим образом. В обработчикеthis будет ссылаться на элемент HTML.

<input type="radio" id="foo" >

function click()
{
    alert("click");
}
document.getElementById('foo').onclick = click;

Превосходная серия статей о событиях браузера наhttp://www.quirksmode.org/js/introevents.html

Ваш ответ на вопрос