--- title: GlobalEventHandlers.onclick slug: Web/API/GlobalEventHandlers/onclick translation_of: Web/API/GlobalEventHandlers/onclick ---
Свойство onclick возвращает обработчик события click
на текущем элементе.
click
для вызова любого действия, убедитесь, что событие keydown
имеет такое же действие. Это нужно для того, чтобы пользователи, которые не используют мышь или тачскрин могли использовать то же действие.element.onclick = functionRef;
где functionRef это функция - зачастую это имя функции, которая объявлена где-то в другом месте или же функциональное выражение. См. "JavaScript Guide:Functions".
Единственный аргумент, переданный в определённую функцию обработчик события это {{domxref("MouseEvent")}} объект. this
внутри обработчика будет указывать на элемент, на котором было вызвано событие.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>onclick event example</title> <script> function initElement() { var p = document.getElementById("foo"); // NOTE: showAlert(); или showAlert(param); так НЕ сработает. // Нужно использовать ссылку на функцию, но не вызов функции. p.onclick = showAlert; }; function showAlert(event) { alert("onclick Event detected!"); } </script> <style> #foo { border: solid blue 2px; } </style> </head> <body onload="initElement();"> <span id="foo">My Event Element</span> <p>click on the above element.</p> </body> </html>
Или же вы можете использовать анонимную функцию, как здесь:
p.onclick = function(event) { alert("moot!"); };
Событие click
возникает, когда пользователь кликает на элемент. Событие click
возникнет после событий mousedown
и mouseup
.
С данным свойством только один обработчик события click
может быть назначен объекту. Возможно, вместо данного метода, вам стоит обратить внимание на метод {{domxref("EventTarget.addEventListener()")}}, т.к. он более гибкий и является частью спецификации DOM Events.
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('HTML WHATWG','webappapis.html#handler-onclick','onclick')}} | {{Spec2('HTML WHATWG')}} |
{{event("click")}} event