gpt4 book ai didi

Reactjs 触摸事件不起作用

转载 作者:行者123 更新时间:2023-12-03 14:22:00 25 4
gpt4 key购买 nike

我正在尝试通过触摸来触发类(class)。使用 onClick 它在桌面上工作正常,但使用 onTap/onTouchStart/onTouchEnd 事件不会被触发。我在渲染组件之前运行 React.initializeTouchEvents(true) 。 Clickhandler 位于 div 元素上,并且我设置了 cursor:pointer。我使用 lonovo Yoga 2 pro 和 iPad 进行测试。另外我使用react router 。有人知道为什么它不起作用吗?

初始化:

React.initializeTouchEvents(true)
Router.run(routes, Router.HistoryLocation, function (Handler) {
React.render(<Handler data={dummyData} />, document.getElementById('app'));
});

组件:

var Transaction = React.createClass({
getInitialState: function(){
return ({showDetails: false})
},
toggleDetails: function(e){
e.preventDefault()
this.setState({showDetails: !this.state.showDetails})
},
render: function(){
var itemClasses = "pl-transaction-item pl-transaction-status-"+this.props.data.status
return (
<li className={this.state.showDetails ? itemClasses + " pl-active" : itemClasses} >
// here is the touch event listener
<div className="pl-transaction-item-header" onTap={this.toggleDetails} onTouchEnd={this.toggleDetails}>
<img src={this.props.data.img} alt="" /><span>name: {this.props.data.name}</span><span>status: {this.props.data.status}</span><span>date: {this.props.data.date}</span>
</div>
<div className="pl-transaction-item-details">
<img src={this.props.data.img} alt="" />
<ul>
<li>name: {this.props.data.name}</li>
<li>status: {this.props.data.status}</li>
<li>date: {this.props.data.date}</li>
<li><button>OK</button></li>
</ul>
</div>
</li>
)
}
})

最佳答案

根据http://facebook.github.io/react/docs/events.htmlReact 没有 onTap 事件监听器。

因此,对于 onTap,您可能希望尝试将 onTap 事件绑定(bind)到 componentDidMount 生命周期,如 http://facebook.github.io/react/tips/dom-event-listeners.html 中所做的那样

关于Reactjs 触摸事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29036316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com