React(拖拽实现)

用React实现拖拽

Drag.js引入同一目录下的Drag.css文件

import './Drag.css';
import React, { Component } from 'react';
import './Drag.css';

class Drag extends React.Component{
    constructor(...args){
        super(...args)
        this.state={x:0,y:0}
    }
    fn(ev){
        var disx=ev.pageX-this.state.x
        var disy=ev.pageY-this.state.y

        var _this=this
        document.onmousemove=function(ev){
            _this.setState({
                x:ev.pageX-disx,
                y:ev.pageY-disy
            })
        }
        document.onmouseup=function(){
            document.onmousemove=null
            document.onmousedown=null
        }
    }
    render(){
        return <div className="box" style={{left:this.state.x+'px',top:this.state.y+'px'}} onMouseDown={this.fn.bind(this)}></div>
    }
}
export default Drag;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,898评论 25 709
  • 前两部分我们已经完成了博客页面的展示和后台页面的展示: React技术栈+Express+Mongodb实现个人博...
    SamDing阅读 5,492评论 1 12
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,253评论 7 35
  • 泰戈尔说过:“沉默是一种美德。但在喜欢的人面前沉默,便是懦弱。” 泰戈尔也说过:“尽管走下去,不必逗留着,去采鲜花...
    FezDirk阅读 246评论 0 0
  • 作为单身者,本周末到下周一就是渡劫的日子了。这么敏感的时候,居然有盆友很不识相的跑来问我这种问题: “七夕送女朋友...
    呉金海阅读 1,286评论 0 0