• 每天一个JavaScript实例-html5拖拽


    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>每天一个JavaScript实例-html5拖拽</title>
    <style>
    #drop{
    		300px;
    		height:200px;
    		background-color:#f00;
    		padding:5px;
    		border:2px solid #000;
    	}
    #item{
    	100px;
    	height:100px;
    	background-color:#ff0;
    	padding:5px;
    	margin:20px;
    	border:1px solid #000;
    	}
    *[draggable=true]{
    	-moz-user-select:none;
    	-khtml-user-drag:element;
    	cursor:move;
    	}
    *:-khtml-drag{
    		background-color:rgba(238,238,238,0.5);
    	}
    </style>
    <script>
    
    function listenEvent(eventTarget,eventType,eventHandler){
    	
    	if(eventTarget.addEventListener){
    		eventTarget.addEventListener(eventType,eventHandler,false);
    		
    		}else if(eventTarget.attachEvent){
    			eventType = "on" + eventType;
    			eventTarget.attachEvent(eventType,eventHandler);
    			
    			}else{
    				eventTarget["on" + eventType] = eventHandler;
    			
    				}
    	}
    	
    	//取消事件
    	function cancelEvent (event){
    		console.log("取消事件");
    		if(event.preventDefault){
    				event.preventDefault();
    			}else{
    					event.returnValue = false;
    				}
    		}
    		//取消传递
    		function cancelPropagation(event){
    			console.log("取消传递");
    			if(event.stopPropagation){
    					event.stopPropagation();
    				}else{
    						event.cancelBubble = true;
    					}
    			
    			}
    		function dragOver(evt){
    		console.log("拖拽进入区域");
    			if(evt.preventDefault) 
    			evt.preventDefault();
    			evt = evt || window.event;
    			evt.dataTransfer.dropEffect = 'copy';
    			return false;
    		}
    	window.onload = function(){
    			console.log("程序就绪");
    			
    			//console.log(target);
    			var item = document.getElementById("item");
    			
    			item.setAttribute("draggable","true");
    			//console.log(item);
    			listenEvent(item,"dragstart",function(evt){
    				console.log("拖拽開始");
    				evt = evt || window.event;
    				evt.dataTransfer.effectAllowed = 'copy';
    				evt.dataTransfer.setData("Text",item.id);
    				
    				});
    			var target = document.getElementById("drop");
    			listenEvent(target,"dragenter",cancelEvent);
    			listenEvent(target,"dragover",dragOver);
    			listenEvent(target,"drop",function(evt){
    				console.log("drop");
    					cancelPropagation(evt);
    					evt = evt || window.event;
    					evt.dataTransfer.dropEffect = 'copy';
    					var id = evt.dataTransfer.getData("Text");
    					target.appendChild(document.getElementById(id));
    					});
    			
    			
    			
    		};
    		
    </script>
    </head>
    
    <body>
    
    <div>
    <p>Drag the small yellow box with hte dash border to the larger red box with the solid border</p> 
    </div>
    <div id = "item" draggable = "true">
    </div>
    <div id = "drop">
    </div>
    </body>
    </html>
    

  • 相关阅读:
    Android 千牛数据库分析
    Flutter 你需要知道的那些事 01
    Flutter 异常处理之图片篇
    Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)
    Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
    Flutter 即学即用系列博客——06 超实用 Widget 集锦
    Kingfisher-swift缓存图片框架
    swift冒泡排序,swift快速排序,swift归并排序,swift插入排序,swift基数排序
    swift声明属性为某个类型同时遵循某协议
    Xcode真机运行报错iPhone has denied the launch request
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5077109.html
Copyright © 2020-2023  润新知