react 鼠标移入放大_ReactJS鼠标移动|触摸移动事件处理

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

class Drawing extends React.Component {

constructor(props) {

super(props);

this.state = {

points: []

};

}

move(evt) {

if (evt.target.tagName.toLowerCase() === 'svg') {

evt.preventDefault();

var svgPos = this.refs.svg.getBoundingClientRect();

var x = evt.clientX,

y = evt.clientY;

if (evt.type==='touchmove') {

x = evt.touches[0].pageX,

y = evt.touches[0].pageY;

}

x = x - svgPos.left;

y = y - svgPos.top;

var points = this.state.points;

if (points.length > 50) {

points.shift();

}

points.push({

x: x,

y: y

});

this.setState(points);

}

}

render() {

var points = ;

if (this.state.points.length > 0) {

var allPoints = this.state.points,

d = '';

points = allPoints.map(function(point, i) {

var last = (i === allPoints.length - 1);

var first = (i === 0);

if (first) {

d += 'M ';

}

d += ' ' + point.x + ' ' + point.y;

if (first) {

d += ' L ';

}

if (last) {

return

};

});

}

return (

{points}

)

}

}

ReactDOM.render(

, document.querySelector('.app'));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值