【发布时间】:2018-02-03 13:51:02
【问题描述】:
我有两个相同的按钮,除了一个里面有图片,另一个有文字。我已经为两者添加了一个 onClick 事件处理程序。
图像按钮的 event.target.value 未定义,尽管有一个值并且文本按钮具有正确的值。
请看这个小提琴的例子:https://jsfiddle.net/69z2wepo/84885/
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.changeSlide = this.changeSlide.bind(this);
}
changeSlide(e) {
e.preventDefault();
console.log('e.target.value', e.target.value);
}
render() {
return (
<div>
<button
onClick={this.changeSlide}
value="back">
<img src="//www.gravatar.com/avatar/7150a453468d14f599772cd8330fcf25/?default=&s=80" alt="Previous slide" />
</button>
<button
onClick={this.changeSlide}
value="back">
CLICK ME
</button>
</div>
);
}
}
ReactDOM.render(
<MyComponent />,
document.getElementById('container')
);
为什么会这样?在按钮内使用图像的正确方法是什么?
【问题讨论】:
-
因此,如果您将小提琴更改为显示 e.target,您会注意到 e.target 是文本的按钮,但它实际上是图像的图像,而图像的 .value不是“返回”,它是未定义的。
标签: javascript node.js reactjs