一、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 {
} catch(e){
}
|
三、查看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] ; var e = ieEvent || ffEvent ; return e ; }
|
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){ xx = ev.pageX; yy = ev.pageY; }else{ var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; 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
浏览器渲染方式(解决IE10
下JS
或插件失效):
如果安装了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
| form1.attachEvent('submit', function(){ event.cancelBubble = true; event.returnValue = false; }
|