盒子
盒子
文章目录󰁋
  1. 一、JS动画与动作不一致解决:
  2. 二、停止事件冒泡
  3. 三、查看JS对象属性
  4. 四、页面刷新时禁用提交按钮
  5. 五、获取事件
  6. 六、获取键盘码
  7. 七、 鼠标滑入/滑出样式切换
  8. 八、点击鼠标,显示/隐藏切换
  9. 九、JS 调试
  10. 十、为子元素集合绑定事件
  11. 十一、自定义IE浏览器渲染方式(解决IE10下JS或插件失效):
  12. 十二、注册事件

javascript常用积累

一、JS动画与动作不一致解决:


1
2
3
if(!$( "#handle").is(":animated")){
//判断元素是否处于动画状态
}

二、停止事件冒泡


1
2
3
4
5
6
7
8
9
10
11
event.stopPropagation();
- 禁止JS报错
window.onerror = function(){
return true ;
}

try {
/*try to do*/
} catch(e){
/*do this if try error */
}

三、查看JS对象属性


1
2
3
4
5
6
7
	var res = '' ; 
var obj = eval( obj );
for( var p in eval( obj ) ){
var prop = p + ':' + obj[p] + '\n' ;
res += prop ;
}
alert( res );

四、页面刷新时禁用提交按钮


1
2
3
window.onbeforeunload = function(){
$(':submit').attr('disabled',true);
}

注意Opera 浏览器不支持,其他浏览器避免在同一页面中使用 "javascrpt:" 等伪协议

五、获取事件


1
2
3
4
5
6
7
8
9
var getEvent = function(){
var ieEvent = window.event ;
var ffEvent = arguments.callee.caller.arguments[0] ;
//arguments.callee 当前执行函数
//arguments.callee.caller 当前执行函数的调用者
//arguments.callee.caller.arguments[0] 当前函数调用者的第一个参数
var e = ieEvent || ffEvent ;
return e ;
}
  • 获取鼠标距离浏览器顶部 左侧的实际距离 兼容IE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getXY(ev){
var ev = ev || window.event;
var xx = 0;
var yy = 0;
if(ev.pageX){ //iE9+
xx = ev.pageX;
yy = ev.pageY;
}else{
//IE678 clientX,clientY + scroll
var scrollTop = document.documentElement.scrollTop ||
document.body.scrollTop;//IE9+
var scrollLeft = document.documentElement.scrollLeft ||
document.body.scrollLeft;//IE9+
xx = ev.clientX + scrollLeft;
yy = ev.clientY + scrollTop;
}
return {
x:xx,
y:yy
};

}

六、获取键盘码


1
2
3
4
5
6
7
var getKCode = function(){
var ieEvent = window.event ;
var ffEvent = arguments.callee.caller.arguments[0] ;
var e = ieEvent || ffEvent ;
var kCode = e.keyCode || e.which ;
return kCode ;
}

七、 鼠标滑入/滑出样式切换


1
2
3
$("div").on("mouseover mouseout", function(){
$(this).toggleClass("over");
});

八、点击鼠标,显示/隐藏切换


1
2
3
4
5
6
7
$("#panel h5.head").toggle(function(){
$(this).toggleClass("highlight");
$(this).next().toggle();
},function(){
$(this).toggleClass("highlight");
$(this).next().toggle();
});

九、JS 调试


1
2
3
4
5
console.log() ;			//打印变量
console.dir() ; //打印对象
console.dirxml() ; //打印节点
console.trace() ; //打印函数调用轨迹
window.document.title = str;

十、为子元素集合绑定事件


1
2
3
$("div").delegate("button","click",function(){
$("p").slideToggle();
});

十一、自定义IE浏览器渲染方式(解决IE10JS或插件失效):


如果安装了Chrome内核,则使用Chrome内核来渲染页面[chrome=1],如果未安装,则使用最高版本的IE内核进行渲染[IE=edge]:

1
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

十二、注册事件


1
2
3
4
5
// 标准浏览器
form1.addEventListener('submit', function(e){
e.preventDefault(); //阻止浏览器默认动作
e.stopPropagation(); //阻止事件流产生
});
1
2
3
4
5
// IE8及更早版本IE浏览器
form1.attachEvent('submit', function(){
event.cancelBubble = true; //阻止浏览器默认动作--IE8及更早版本IE浏览器
event.returnValue = false; //阻止事件流产生--IE8及更早版本IE浏览器
}
支持一下
扫一扫,支持poetries