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/)
|