javascript 常用积累

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


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

二、停止事件冒泡


event.stopPropagation();
- 禁止JS报错
    window.onerror = function(){
        return true ; 
}
try {
/*try to do*/
} catch(e){
/*do this if try error */
}

三、查看JS对象属性


var res = '' ; 
var obj = eval( obj );
    for( var p in eval( obj ) ){
        var prop = p + ':' + obj[p] + '\n' ; 
        res += prop ; 
    }
    alert( res );

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


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

注意Opera

浏览器不支持,其他浏览器避免在同一页面中使用

"javascrpt:"

等伪协议

五、获取事件


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 ;
}

六、获取键盘码


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 ;
    }

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


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

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


$("#panel h5.head").toggle(function(){
    $(this).toggleClass("highlight");
    $(this).next().toggle();
},function(){
    $(this).toggleClass("highlight");
    $(this).next().toggle();
});

九、JS 调试


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

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


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

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


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

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

十二、注册事件


// 标准浏览器
form1.addEventListener('submit', function(e){
    e.preventDefault();     //阻止浏览器默认动作
    e.stopPropagation();        //阻止事件流产生
});
// IE8及更早版本IE浏览器
form1.attachEvent('submit', function(){
    event.cancelBubble = true; //阻止浏览器默认动作--IE8及更早版本IE浏览器
    event.returnValue = false; //阻止事件流产生--IE8及更早版本IE浏览器
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,118评论 25 708
  • @转自GitHub 介绍js的基本数据类型。Undefined、Null、Boolean、Number、Strin...
    YT_Zou阅读 1,184评论 0 0
  • 在线阅读 http://interview.poetries.top[http://interview.poetr...
    前端进阶之旅阅读 114,677评论 24 450
  • 籽料是和田玉中的精品,产量少,品质高,历代藏家所青睐。但如今市场上造假技术横生,鱼龙混杂,令人难辨真假,尤其新手朋...
    0547925b44d9阅读 463评论 0 0