JsJquery小技巧
JS对URL编码 :encodeURI()
.Net对URL解码:HttpUtility.UrlDecode()
格式化输出百分数
function formatePercent(data){
if (data != undefined && !isNaN(data))
{
data=Number(data)*100;
return data.toFixed(2)+"%";
}
return "";
}
阻止事件冒泡
function stopBubble(e) {
// 如果提供了事件对象,则这是一个非IE浏览器
if (e && e.stopPropagation)
// 因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
// 否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}
//获取dom元素css样式值
function getStyle(dom,attr){
if(window.getComputedStyle){
return window.getComputedStyle(dom,false)[attr];
}else{
//兼容IE
return dom.currentStyle[attr];
}
}
事件句柄
e || window.event
光标坐标
e.clientX || e.pageX
HtmlCollection转数组
var arry = [].slice.call(lisDom);
function getXY(e){
var ev = e || window.event;
//坐标的获取
//ie678 pageX pageY (包含滚动条的scrollLeft 和scrollTop)
//ie9+ clientX clientY (不包含滚动条的scrollLeft 和scrollTop)
var x=0,y=0;
if(ev.pageX){
x = ev.pageX;
y = ev.pageY;
}else{
//拿到scrollTop 和scrollLeft
var sleft = 0,stop = 0;
//ie678---
if(document.documentElement){
stop =document.documentElement.scrollTop;
sleft = document.documentElement.scrollLeft;
}else{
//ie9+ 谷歌
stop = document.body.scrollTop;
sleft = document.body.scrollLeft;
}
x = ev.clientX + sleft;
y = ev.clientY + stop;
}
return {x:x,y:y};
};
// IE 687 IE9
// attachEvent() addEventListener()
//detachEvent() removeEventListener()
// e.srcElement e.target
//cancleBubble(true) e.stopPropagation()
//return false e.preventDefault()
//添加事件
function setEvent(dom,type,callback){
if(document.addEventListener){
dom.addEventListener(type,callback,false);
}else if(document.attachEvent){
dom.attachEvent("on"+type,callback,false);
}else{
dom["on"+type]=callback;
}
}
//移除事件
function offEvent(dom,type,callback){
if(dom.removeEventListener){
dom.removeEventListener(type,callback);
}else if(document.detachEvent){
dom.detachEvent("on"+type,callback);
}else {
delete dom["on"+type];
}
}
//阻止浏览器默认行为
function offDefault(e){
if(event.preventDefault){
return e.preventDefault();
}else{
e.returnValue=false;
}
}
//阻止事件冒泡
function stopEvent(e){
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancelBubble=true;
}
}
//混入
function mix (target,source){
//arguments:类数组---它有数组的长度,下标,但不能调用数组的sort push reverse
var args = [].slice.call(arguments);
var i = 1;
if(args.length == 1){
return target;
};
while((source = args[i++])){
for(var key in source){
target[key] = source[key];//混入代码
}
}
return target;
}
//js关闭当前窗口,避免弹出提示框
window.opener=null;
window.open('','_self');
window.close();
JsJquery小技巧的更多相关文章
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 分享两个BPM配置小技巧
1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...
- linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
- css小技巧(1)
1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...
- 最强 Android Studio 使用小技巧和快捷键
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
随机推荐
- BD贴吧图片爬虫
#encoding:utf-8 import urllib import urllib.request from lxml import etree class Spider(object): def ...
- 区别|Pandas-qcut( )与cut( )的区别
https://blog.csdn.net/starter_____/article/details/79327997
- Android onActivityResult()运行时刻的问题
今天在开发过程中遇到一个很是怪异的问题,就是方法onActivityResult的执行问题,问题是当我从当前的Activity跳转的时候,尚未做任何动作,onActivityResult()就已经执行 ...
- SVG和canvas
1.SVG实现的圆环旋转效果 参考:http://www.softwhy.com/article-6472-1.html 2.SVG中的图形可以通过 transform="matrix(0 ...
- Spring源码剖析2:初探Spring IOC核心流程
本文转载自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutor ...
- this关键字的使用!
class Student{ String name; int age; Student(String name,int age){ this.name=name; this.age=age; } S ...
- Java数据结构----集合
Java的集合可以分为两类, 第一类是以数组为代表,这类集合可以描述线性表类型的数据结构,以Collection为基类,其中自己用过或者了解的有 实现List接口的类:LinkedList,Array ...
- 架构-软件系统体系结构-C/S架构:C/S架构
ylbtech-架构-软件系统体系结构-C/S架构:C/S架构 Client/Server架构,即客户端/服务器架构.是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端, ...
- ubuntu ceph集群安装以及简单使用
ubuntu ceph安装以及使用 1.安装环境 本文主要根据官方文档使用ubuntu14.04安装ceph集群,并且简单熟悉其基本操作.整个集群包括一个admin节点(admin node,主机名为 ...
- java程序中线程cpu使用率计算
原文地址:https://www.imooc.com/article/27374 最近确实遇到题目上的刚需,也是花了一段时间来思考这个问题. cpu使用率如何计算 计算使用率在上学那会就经常算,不过往 ...