js兼容的一些小记录_你看我独自一人_新浪博客

今天药忘吃喽~ 2021-12-11 09:19 69阅读 0赞

因为是遇到问题了(有时候自己解决了没有做笔记,然后同事也遇到了一样的问题,问我有时候也记不太清了,所以逼自己养成习惯,将遇到的问题记录下来,给同事和自己一个清晰的解决思路)

百度了一下,但是没有找到讲解的很易懂的例子,自己对这个断言就做一下记录,方便自己日后查看和需要的人看看。

//1.scrollTop

  1. document.documentElement.scrollTop || document.body.scrollTop

//2.scrollLeft

  1. document.documentElement.scrollLeft || document.body.scrollLeft

//byClassName
//3.兼容byClassName

  1. function byClassName(obj,className){
  2. if(obj.getElementsByClassName){
  3. return obj.getElementsByClassName(className);
  4. }else{
  5. var arr = [];
  6. var ele = obj.getElementsByTagName_r('*');
  7. for(var i = 0,len = ele.length;i < len;i ++){
  8. if(ele[i].className == className){
  9. arr.push(ele[i]);
  10. }
  11. }
  12. return arr;
  13. }
  14. }

//4.获取对象中class属性值的兼容

  1. //getAttribute('class') ie8以下 返回null
  2. //oDiv.getAttribute('className') : 除ie8以下支持,其它都返回null
  3. var className = oDiv.getAttribute('className') ? oDiv.getAttribute('className') : oDiv.getAttribute('class');

//5.获取非行内样式

  1. function getStyle(obj,attr){
  2. return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,1)[attr];
  3. }

//6.获取事件对象的兼容

  1. var e = 形参 || window.event;

//7.获取鼠标按键编码值的兼容

  1. function getButton(evt){
  2. // evt = evt || window.event;
  3. var e = evt || window.event;
  4. if(evt){
  5. return e.button;
  6. }else if(window.event){
  7. switch(e.button){
  8. case 1 : return 0;
  9. case 4 : return 1;
  10. case 2 : return 2;
  11. }
  12. }
  13. }

//8.通过onkeypress获取键盘按键编码值的兼容

  1. event.keyCode || event.which || event.charCode

//9.阻止事件冒泡的兼容

  1. e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;

//10.阻止超链接的默认行为的兼容

  1. e.preventDefault ? e.preventDefault() : e.returnValue = false;

//11.添加事件监听器的兼容

  1. function addEventListen(obj,evt,fun,boo){
  2. if(obj.attachEvent){
  3. obj.attachEvent('on' + evt,fun);
  4. }else{
  5. obj.addEventListener(evt,fun,boo);
  6. }
  7. }

//12.删除事件监听器的兼容

  1. function removeEventListen(obj,evt,fn,boo){
  2. if(obj.removeEventListener){
  3. obj.removeEventListener(evt,fn,boo);
  4. }else{
  5. obj.detachEvent('on' + evt,fn);
  6. }
  7. }

//13.获取事件源的兼容

  1. var target = e.target || e.srcElement;

发表评论

表情:
评论列表 (有 0 条评论,69人围观)

还没有评论,来说两句吧...

相关阅读