• 技术文章 >web前端 >H5教程

    HTML5实战与剖析之原生拖拽(一拖拽历史概述)

    黄舟黄舟2017-02-11 11:39:35原创925


      提起拖拽,我就想起了在JavaScript培训的时候一个非常好玩的效果,那就是拖拽了。可以用鼠标任意拖拽着一个物体到任何你想去的地方。

      最早拥有JavaScript拖拽功能的是IE4浏览器。当时,网页中只有两种对象是可以拖拽的,那就是:图形和某些文字。拖拽图像的时候,把鼠标放在图像上,按住鼠标不放就可以拖拽了。拖拽文字时,要先选中文字,然后可以像拖动图像那样拖拽选中的文字。在IE4中,唯一有效的放置拖拽文字的目标是文本框。到了IE5.5更进一步,让网页中的任何元素都可以拖拽(IE6以上也支持这些功能了)。随着浏览器一点点更新换代,随着IE7IE8以及其他浏览器的诞生,网页中所有东西都可以拖拽了,只不过是通过JavaScript程序来实现的。下面就是没有HTML5的时候,拖拽的实现小例子。

      HTML代码

    <p id="p1" style="width:100px; height:100px; background:red; position:absolute;">梦龙小站</p>


      JavaScript代码

    window.onload = function(){
    	var op = document.getElementById('p1');
    	var disX = 0;
    	var disY = 0;
    	
    	op.onmousedown = function(ev){
    		var ev = ev || window.event;
    		disX = ev.clientX - op.offsetLeft;
    		disY = ev.clientY - op.offsetTop;
    		
    		//在IE下,如果选中元素拖拽就会有问题 : IE设置全局捕获:setCapture 释放全局捕获:releaseCapture
    		if(op.setCapture){
    			op.setCapture();
    		}
    		
    		document.onmousemove = function(ev){
    			var ev = ev || window.event;
    			op.style.left = ev.clientX - disX + 'px';
    			op.style.top = ev.clientY - disY + 'px';
    		};
    		
    		document.onmouseup = function(){
    			document.onmousemove = null;
    			document.onmouseup = null;
    			if(op.releaseCapture){
    				op.releaseCapture();
    			}
    		};
    
    		//在标准浏览器下如果拖拽一个空的标签,就会有问题 : return false
    		//在标准浏览器下拖拽图片会有问题:return false
    		return false;
    	};
    	
    };


      CSS代码

    li{ width:100px; height:30px; border:1px #000000 solid; margin:20px; list-style:none;}
    #p1{ width:100px; height:100px; background:red; margin:300px;}

      直到HTML5的出现。HTML5是以IE为基础制定了拖拽规范。支持原生拖拽的浏览器有:Chrome、Safari 3+和Firefox 3.5+。

      HTML5中的拖拽,可以在窗口间、框架间,甚至在应用间进行完美拖拽。浏览器对拖拽的支持为实现这一功能实现了便利。

      HTML5实战与剖析之原生拖拽(一)——拖拽历史概述,就为大家介绍到这里了。更多相关内容请关注PHP中文网(m.sbmmt.com)!









    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:HTML5实战与剖析之跨文档消息传递(iframe传递信息) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 重点介绍H5页面秒开优化与实践• 利用简洁的图片预加载组件提升html5移动页面的用户体验 _html5教程技巧• HTML5重塑Web世界它将如何改变互联网_html5教程技巧• 开发人员所需要知道的HTML5性能分析面面观_html5教程技巧• 小强的HTML5移动开发之路(42)——HTML4与HTML5文档结构比较
    1/1

    PHP中文网