102 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
title: Click Method
 | 
						||
localeTitle: Метод Click
 | 
						||
---
 | 
						||
# Метод Click
 | 
						||
 | 
						||
Метод jQuery Click запускает функцию при нажатии элемента. Эта функция известна как «обработчик», потому что она обрабатывает событие click. Функции могут влияют на элемент HTML, привязанный к клику, используя метод jQuery Click, или они могут полностью изменить что-то еще. Наиболее часто используемая форма:
 | 
						||
 | 
						||
```javascript
 | 
						||
$("#clickMe").click(handler) 
 | 
						||
```
 | 
						||
 | 
						||
Метод click использует функцию обработчика в качестве аргумента и выполняет его каждый раз, когда `#clickMe` элемент `#clickMe` . Функция обработчика получает параметр, известный как [eventObject,](http://api.jquery.com/Types/#Event) который может быть полезен для управления действием.
 | 
						||
 | 
						||
#### Примеры
 | 
						||
 | 
						||
Этот код показывает предупреждение, когда пользователь нажимает кнопку:
 | 
						||
 | 
						||
```html
 | 
						||
 | 
						||
<button id="alert">Click Here</button> 
 | 
						||
```
 | 
						||
 | 
						||
```javascript
 | 
						||
$("#alert").click(function () { 
 | 
						||
  alert("Hi! I'm an alert"); 
 | 
						||
 }); 
 | 
						||
```
 | 
						||
 | 
						||
[jsFiddle](https://jsfiddle.net/pL63cL6m/)
 | 
						||
 | 
						||
[EventObject](http://api.jquery.com/Types/#Event) имеет некоторые встроенные методы, в том числе `preventDefault()` , который делает именно то, что он говорит, - останавливается событие по умолчанию для элемента. Здесь мы помещаем якорный тег в качестве ссылки:
 | 
						||
 | 
						||
```html
 | 
						||
 | 
						||
<a id="myLink" href="www.google.com">Link to Google</a> 
 | 
						||
```
 | 
						||
 | 
						||
```javascript
 | 
						||
$("#myLink").click(function (event) { 
 | 
						||
  event.preventDefault(); 
 | 
						||
 }); 
 | 
						||
```
 | 
						||
 | 
						||
[jsFiddle](https://jsfiddle.net/dy457gbh/)
 | 
						||
 | 
						||
#### Дополнительные способы воспроизведения с помощью метода click
 | 
						||
 | 
						||
Функция обработчика также может принимать дополнительные данные в виде объекта:
 | 
						||
 | 
						||
```javascript
 | 
						||
jqueryElement.click(usefulInfo, handler) 
 | 
						||
```
 | 
						||
 | 
						||
Данные могут быть любого типа.
 | 
						||
 | 
						||
```javascript
 | 
						||
$("element").click({firstWord: "Hello", secondWord: "World"}, function(event){ 
 | 
						||
    alert(event.data.firstWord); 
 | 
						||
    alert(event.data.secondWord); 
 | 
						||
 }); 
 | 
						||
```
 | 
						||
 | 
						||
Вызов метода click без функции обработчика запускает событие click:
 | 
						||
 | 
						||
```javascript
 | 
						||
$("#alert").click(function () { 
 | 
						||
  alert("Hi! I'm an alert"); 
 | 
						||
 }); 
 | 
						||
 
 | 
						||
 $("#alert").click(); 
 | 
						||
```
 | 
						||
 | 
						||
Теперь, всякий раз, когда страница загружается, событие click будет срабатывать, когда мы вводим или перезагружаем страницу и показываем назначенное предупреждение.
 | 
						||
 | 
						||
Также вы должны использовать .on ('click', ...) над .click (...), потому что первый может использовать меньше памяти и работать для динамически добавленных элементов.
 | 
						||
 | 
						||
[jsFiddle](https://jsfiddle.net/gspk6gxt/)
 | 
						||
 | 
						||
#### Распространенные ошибки
 | 
						||
 | 
						||
Событие click привязывается только к элементам, находящимся в настоящее время на DOM во время привязки, поэтому любые добавленные впоследствии элементы не будут связаны. Чтобы связать все элементов в DOM, даже если они будут созданы позднее, используйте метод `.on()` .
 | 
						||
 | 
						||
Например, этот пример метода click:
 | 
						||
 | 
						||
```javascript
 | 
						||
$( "element" ).click(function() { 
 | 
						||
  alert("I've been clicked!"); 
 | 
						||
 }); 
 | 
						||
```
 | 
						||
 | 
						||
Можно изменить это на примере метода:
 | 
						||
 | 
						||
```javascript
 | 
						||
$( document ).on("click", "element", function() { 
 | 
						||
  alert("I've been clicked!"); 
 | 
						||
 }); 
 | 
						||
```
 | 
						||
 | 
						||
#### Дополнительная информация:
 | 
						||
 | 
						||
Для получения дополнительной информации посетите [официальный сайт](https://api.jquery.com/click/#click) . |