触摸事件因 Chrome 移动模拟器中的 ReactJS 升级而中断
Touch Events Broken with ReactJS Upgrade in Chrome Mobile Emulator
我最近从 React 0.10 升级到 React 0.14。最初我收到一个错误,指出React.initializeTouchEvents
不是一个函数。我读过一些文档,声称在最新版本的 React 中不需要这种初始化,所以我取消了它。但是,现在没有触摸事件在我的项目中注册。我需要做什么才能让他们再次工作?
下面我包括了一些简单的测试代码,我编写了这些代码来尝试这个问题的解决方案。目前根本没有注册任何触摸事件。
我的主要js文件:
/** @jsx React.DOM */
var React = require('react');
var ReactDOM = require('react-dom');
var TestButton = require('components/common/testButton');
try {
var lander = (<TestButton/>);
ReactDOM.render(lander, document.getElementById('myContainer'));
}
catch (e) {
error.errorHandler(e);
}
我的测试按钮组件:
/** @jsx React.DOM */
var React = require('react');
var TestButton = React.createClass ({
getInitialState: function () {
return {
text: "Click Here!",
};
},
toggle: function () {
console.log('in toggle');
if (this.state.text == "Click Here!"){
this.setState({
text: "Good Job!",
});
} else {
this.setState({
text: "Click Here!",
});
}
},
render: function () {
return (
<div onTouchEnd={this.toggle}>
{this.state.text}
</div>
);
},
});
module.exports = TestButton;
任何见解将不胜感激
编辑:我尝试更改为onTouchEnd,因为onTouchTap不再可用。但是,我仍然遇到同样的问题。
编辑:这在移动设备本身工作正常。但是,我无法让它从Chrome移动模拟器工作
正如Mathletics所说,onTouchTap
不能作为事件使用。但是,您可以尝试使用此插件以使事情变得更容易 https://github.com/zilverline/react-tap-event-plugin
TouchTap
不再作为事件提供。请阅读有关触摸事件的文档以选择适当的事件。您可以绑定:
onTouchCancel onTouchEnd onTouchMove onTouchStart
如果您只想捕获点击事件,请使用 onClick。事件在TouchStart,onTouchEnd等。是拖放事件。对于滑动,您将需要一个第三方库,例如 react-hammerjs。
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 如何更改reactjs中外部/独立组件的状态或属性
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 高亮显示与数组字符串一起使用时文本插件中断
- reactjs this.refs vs document.getElementById
- 同构reactjs-cdn资产
- AngularJS ui路由器html5模式中断路由
- 在ReactJS中重新渲染孩子3次可以接受吗
- 递归函数中断
- Javascript-在文本区域中断,但不在段落中中断
- 如何在ReactJs中显示Json数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 如何在ReactJs中渲染子组件时重新加载子组件的数据
- 如何在ReactJs中链接下拉列表和文本区域
- 如何在ReactJs中呈现选定选项的更改表
- 在select上呈现不同形式的reactjs
- onClick事件未触发reactjs
- 触摸事件因 Chrome 移动模拟器中的 ReactJS 升级而中断