67 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Onclick Event
							 | 
						|||
| 
								 | 
							
								localeTitle: Событие Onclick
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## Событие Onclick
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Событие `onclick` в JavaScript позволяет программисту выполнять функцию при нажатии элемента.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### пример
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```javascript
							 | 
						|||
| 
								 | 
							
								<button onclick="myFunction()">Click me</button> 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 <script> 
							 | 
						|||
| 
								 | 
							
								  function myFunction() { 
							 | 
						|||
| 
								 | 
							
								    alert('Button was clicked!'); 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 </script> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								В простом примере выше, когда пользователь нажимает на кнопку, они будут видеть предупреждение в своем браузере, на котором `Button was clicked!` ,
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Добавление `onclick` динамически
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Событие `onclick` также может быть программно добавлено к любому элементу, используя следующий код в следующем примере:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```javascript
							 | 
						|||
| 
								 | 
							
								<p id="foo">click on this element.</p> 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 <script> 
							 | 
						|||
| 
								 | 
							
								  var p = document.getElementById("foo"); // Find the paragraph element in the page 
							 | 
						|||
| 
								 | 
							
								  p.onclick = showAlert; // Add onclick function to element 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								  function showAlert(event) { 
							 | 
						|||
| 
								 | 
							
								    alert("onclick Event triggered!"); 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 </script> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Заметка
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Важно отметить, что с помощью onclick мы можем добавить только одну функцию прослушивателя. Если вы хотите добавить больше, просто используйте addEventListener (), что является предпочтительным способом добавления слушателей событий.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								В приведенном выше примере, когда пользователь нажимает на элемент `paragraph` в `html` , он увидит предупреждение, отображающее `onclick Event triggered` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Предотвращение действия по умолчанию
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Однако , если мы придаем `onclick` для ссылки (HTML это тег) мы могли бы предотвратить действие по умолчанию произойдет: `a`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```javascript
							 | 
						|||
| 
								 | 
							
								<a href="https://guide.freecodecamp.org" onclick="myAlert()">Guides</a> 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 <script> 
							 | 
						|||
| 
								 | 
							
								  function myAlert(event) { 
							 | 
						|||
| 
								 | 
							
								    event.preventDefault(); 
							 | 
						|||
| 
								 | 
							
								    alert("Link was clicked but page was not open"); 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 </script> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								В приведенном выше примере мы предотвратить поведение по умолчанию `a` (открытие ссылки) элемента с помощью `event.preventDefault()` внутри нашей `onclick` функции обратного вызова.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								[MDN](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onclick)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### Другие источники
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								[jQuery .on () Присоединение обработчика событий](https://api.jquery.com/on/)
							 |