- Objective:
- Breadcrumb: DOM - Event - 实例属性
# 概念阐释
## 语义
对触发事件的元素进行修改。用于一个界面中有好几个要触发的事件,在函数中就可以以`event.target`来代表,再在添加事件中调用函数。
## 语法
```js
event.target.
```
- `event.target` 是用户交互的元素,`event`可以是`evt`, `e`
# 实例
[[js Events 事件 触发事件的类型]]中的练习题
# 相关内容
## 有参数与无参数的区别
### 有参数
有参数的情况下,函数可以用在任何HTML标签内
```js
function makeDoggy(e) {
e.target.setAttribute('src', 'https://content.codecademy.com/courses/React/react_photo-puppy.jpeg');
e.target.setAttribute('alt', 'doggy');
}
```
```html
<img src="image1.jpg" alt="image1" onclick="makeDoggy(event)"> <img src="image2.jpg" alt="image2" onclick="makeDoggy(event)"> <img src="image3.jpg" alt="image3" onclick="makeDoggy(event)">
```
### 无参数
在无参数的情况下,函数只可以指定给特定的HTML标签
```js
function makeDoggy() {
var imageElement = document.getElementById('myImage');//指定特定标签
imageElement.setAttribute('src', 'https://content.codecademy.com/courses/React/react_photo-puppy.jpeg');
imageElement.setAttribute('alt', 'doggy');
}
```
```html
<--指定myImage id-->
<img id="myImage" src="some_image.jpg" alt="some alt text" onclick="makeDoggy()">
```
## React
在React中事件监听的写法:[[JSX 事件处理程序]]
```js
//当click原本的🐱图片后,出发makeDoggy函数,图片变成🐶
const kitty = (
<img onClick={makeDoggy}
src="https://content.codecademy.com/courses/React/react_photo-kitty.jpg"
alt="kitty" />
);
```
# 问题
- [练习题](https://www.codecademy.com/courses/build-interactive-websites/lessons/dom-events/exercises/event-object-property)
🌟🌟
在事件处理程序`sharePhoto`函数中,添加改变`share button`的任务,将在点击后隐藏。
接下来,在sharePhoto函数中添加一条语句,以修改`text`元素,以表明从DOM加载到事件触发的毫秒数:`'You share puppy photo in' + event.timeStamp +'ms';`。参考:[[js Events 事件对象属性 timeStamp]]。
# 问题答案
```js
let sharePhoto = (event) => {
event.target.style.display = 'none';
text.innerHTML = 'You share puppy photo in' + event.timeStamp +'ms';
};
share.addEventListener('click',sharePhoto);
```
- `event`是函数参数
# 参考资料
- [event.target - MDN](https://developer.mozilla.org/en-US/docs/Web/API/Event/target)