javascript 常用积累

2,409 阅读1分钟
原文链接: blog.poetries.top

一、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浏览器
}
支持一下 扫一扫,支持poetries