博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript及兼容性笔记
阅读量:4557 次
发布时间:2019-06-08

本文共 1568 字,大约阅读时间需要 5 分钟。

1. Json to String

JSON.stringify(jsonobj)//(IE8+,Chrome 1+,FF 3+) //参考

 2. 页面刷新location.reload()和location.href=location.href

  前者相当于页面右键刷新/F5/刷新按钮;后者相当于浏览器地址栏回车。

3. 0==""

  一定要注意,0=="" 在js里是true的。

4. 调用iframe

  document.getElementById("fileUpFrame").contentWindow.document.form.file.click();

  fileUpFrame.document.form.file.click();
  frames["fileUpFrame"].document.form.file.click();

5. 无刷新上传文件

  var fraFileInput=fraForm.file;

  fraFileInput.οnchange=function(){
  var fileName=this.value;
  fraForm.submit.click();
  }
  fraFileInput.click();

  注册file的onchange事件一定要在.click代码之前,否则ie有可能会注册不上onchange事件.

6. IE的键盘事件

  ie6 7 8 在window上注册的键盘事件无效,只能注册到document上;

  ie9+及其他浏览器window.onkeydown事件晚于document.onkeydown事件;

  ie8- document.οnkeydοwn=function (e){没有传入事件对象,需要window.event} 

7. IE6-7 字符串处理问题

  不支持使用数组的下标方法 txt[n]获取字符,需要使用txt.substr(n,1);

 

8. 获取鼠标在div(div#box>div.one*5) 内的偏移

  假设各层都是offset定位元素,并且鼠标事件发生在其中一个div.one上,可以有两种方法

  (1)加法:
  鼠标事件在div.one的偏移+div.one在div#box的偏移
  e.offsetX+(div.one).offsetX   代码大致如下

function getOffsetInParent(ele,parent){
//js ele var x=0,y=0; while(ele && ele!=parent){ x+=ele.offsetLeft; y+=ele.offsetTop; ele=ele.offsetParent; } return {x:x,y:y};}

  (2)减法:

  e.pageX-[(div#box).offsetLeft+div#box相对body的offsetLeft]
  祝:因为pad等移动端的touch事件没有e.offsetX属性,所以兼容性的方案是使用减法。

 9.获取当前视口高度

  document.documentElement.clientHeight 和window.innerHeight(IE9+)。
  绝大多数情况下,上面两种方法的返回值是一样的,但是在chrome中,如果doctype html外面存在script或者其他标签时,documentElement.clientHeight的返回值会>视口高度。

 

 

 

转载于:https://www.cnblogs.com/youryida/p/3242859.html

你可能感兴趣的文章
Appium使用Python运行appium测试的实例
查看>>
django request bug
查看>>
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>
springboot 端口号
查看>>
使用AChartEngine画动态曲线图
查看>>
安卓项目五子棋代码详解(四)
查看>>
urllib 学习一
查看>>
bzoj4196 [Noi2015]软件包管理器——树链剖分
查看>>
kafka源码阅读环境搭建
查看>>