JavaScript经典案例

一、跨浏览器添加事件\移除

function addEvent(eventObj,tyoe,fn){
   if(eventObj.addEventListener){
       eventObj.addEventListener(type,fn,false)
   }else if(eventObj.attachEvent){
       eventObj.attachEvent('on'+type,fn)
   }
}

function removeEvent(eventObj,tyoe,fn){
 if(eventObj.removeEventListener){
       eventObj.removeEventListener(type,fn,false)
   }else if(eventObj.detachEvent){
       eventObj.detachEvent('on'+type,fn)
   }
}

一般浏览器:addEventListener,removeEventlistener;IE浏览器:attachEvent,detachEvent;并且添加的事件类型,IE浏览器需加前缀on

二、跨浏览器阻止默认行为

function prevent(ev){ 
    //取到事件对象
    var   e = ev||window.event;
    if(e.preventDefault){
       e.preventDefault()
    }else{
        e.returnValue = flase;//for IE
    }
}

三、跨浏览器获取目标对象

function getTarget(ev){ 
    //取到事件对象
    if(ev.target){
       return ev.target
    }else if(windoow.event.srcElement){
       return window.event.srcElement;//for IE
    }
}

四、阻止表单重复提交

1、提交之后禁用按钮

document.getElementByID("btn").disabled = true;

2、检测已经提交过,取消后续提交操作

var flag=false;
//提交后会将flag置为true
flag = true;
//之后再次点击提交按钮,判断flag是否为true
if(flag==true){
  return 
}

五、获取屏幕信息

scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。 
clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。无border 
offsetWidth:对象整体的实际宽度,包滚动条等边线,会随对象显示大小的变化而改变。有border

1、如何算出浏览器的高度或宽度。

Width=document.documentElement.clientWidth||document.body.clientWidth

height=document.documentElement.clientHeight||document.body.clientHeight

2、屏幕宽度clientWidth和offsetWidth的区别是什么?

clientWidth=width+padding,offsetWidth=width+padding+border

3、如何算浏览器中当前显示的页面的中心点的位置

top=scrollHeight/2;left=scrollWidth/2

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值