67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Onclick Event
 | ||
| localeTitle: Onclick活动
 | ||
| ---
 | ||
| ## Onclick活动
 | ||
| 
 | ||
| JavaScript中的`onclick`事件允许您作为程序员在单击元素时执行函数。
 | ||
| 
 | ||
| ### 例
 | ||
| 
 | ||
| ```javascript
 | ||
| <button onclick="myFunction()">Click me</button> 
 | ||
|  
 | ||
|  <script> 
 | ||
|   function myFunction() { 
 | ||
|     alert('Button was clicked!'); 
 | ||
|   } 
 | ||
|  </script> 
 | ||
| ```
 | ||
| 
 | ||
| 在上面的简单示例中,当用户单击按钮时,他们将在浏览器中看到显示`Button was clicked!`的警报`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(),这是添加事件侦听器的首选方法。
 | ||
| 
 | ||
| 在上面的示例中,当用户单击`html`的`paragraph`元素时,他们将看到显示`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/) |