阻止事件冒泡 Pretty.events

function Pretty(){}
Pretty.prototype.version='1.0.0';
Pretty.prototype.httpRequest={
   /**
	*请求JSON格式数据
	*@param:method 请求方式,标准的GET、POST(_method=PUT)
	*@param:url 请求地址URL
	*@param:asyn 是否异步请求
	*@param:callback 请求成功执行的回调函数
	*@data:请求参数
	*/
	request: function(method,url,asyn,callback,data) {
		var param = null;
		var temp = 'superstr_timestamp=' + new Date().getTime();
		if(data) {
			for(var key in data) {
				temp = temp + '&' + key + '=' + data[key]; 
			}
		}
		if(method.toLocaleUpperCase()=='POST') {
			param = temp;
		} else {
			method = 'GET';
			if(url.indexOf('?')>-1) {
				url = url + '&' + temp;
			} else {
				url = url + '?' + temp;
			}
		}
		var xhr = new XMLHttpRequest();//创建Http请求对象
		xhr.onreadystatechange=function() {
			if(xhr.readyState==4&&xhr.status==200) {
                callback(JSON.parse(xhr.responseText));
			} else if(xhr.readyState==4){
				alert("———请求异常———"+"\n"+"请求地址(url):"+url+"\n"+"请求方式(method):"+method+"\n"+"状态码(status):"+xhr.status+"\n"+"异步(asyn):"+asyn);
			}
		}
		xhr.open(method,url,asyn);//asyn(true:异步 false:同步)
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置请求头
		xhr.send(param);
	}
}
Pretty.prototype.arrays={
   /**
	*移除数组中重复的对象
	*@param:arr 数组
	*@param:property 数组中对象的属性名称
	*@return:array 处理后的数组
	*/
	only: function(arr, property) {
		let hash = {}
		var array = arr.reduce((item, next) => {
		    if (!hash[next[property]]) {
				hash[next[property]] = true;
				item.push(next);
		    }
			return item;
		}, [])
		return array;
	},
   /**
	*移除数组中的对象
	*@param:arr 数组
	*@param:property 数组中对象的属性名称
	*@param:value 数组中对象属性的值
	*@return:array 处理后的数组
	*/
	remove: function(arr,property,value) {
		var array = arr.filter(
			(obj) => {return obj[property] != value} 
		)
		return array;
	},
   /**
	*搜索数组中的对象
	*@param:arr 数组
	*@param:property 数组中对象的属性名称
	*@param:value 数组中对象属性的值
	*@return:array 处理后的数组
	*/
	search: function(arr,property,value) {
		var array = arr.filter(
			(obj) => {return obj[property] == value} 
		)
		return array;
	},
   /** 
	*数组冒泡排序
	*@param:arr 数组
	*@param:property 数组中对象的属性名称
	*/
	bubbleSort: function(arr, property) {
		var array = arr,temp;
		for(var i=0; i<arr.length;i++) {
			for(var j=i+1;j<arr.length;j++) {
				if(arr[i][property]>arr[j][property]) {
					temp=arr[i];
					arr[i]=arr[j];
					arr[j]=temp;
				}
			 }
		}
		return array;
	}
}
Pretty.prototype.classNames={
	names: {
		draggable:"draggable"
	},
   /**
	*添加拖拽效果,对象互换
	*@descriptions:在添加效果之前需要保证对象可拖动(draggable="true")
	*/
	draggable: function() {
		var className = this.names.draggable;
		var obj = null;//拖动的对象
		window.onload=function() {
			var elements = document.getElementsByClassName(className);
			for(var n=0;n<elements.length;n++) {
				//开始拖动
				elements[n].ondragstart = function(event) {  
					obj=event.target;  
					event.dataTransfer.setData("draggable",event.target.innerHTML);  
				}  
				//放置的位置
				elements[n].ondragover = function(event) {  
					event.preventDefault();  
				}
				//进行放置
				elements[n].ondrop = function(event) {  
					event.preventDefault();  
					if(obj != event.target){  
						obj.innerHTML = event.target.innerHTML; 
						event.target.innerHTML=event.dataTransfer.getData("draggable");
					}  
				} 
			}
		}
	}
}
Pretty.prototype.events={
   /**
    *阻止事件冒泡
	*/
	stopBubble: function(event) {
		if(event && event.stopPropagation);
			event.stopPropagation();
		} else {
			window.event.cancelBubble=true;
		}
	}
}
var _ = new Pretty();

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值