源码解读jQ中浏览器兼容模块support第1/2页

2020-05-27 17:57:35易采站长站整理

前言

jQuery的属性support是判断浏览器之间是否兼容的模块 ,该模块包含了leadingWhitespace,tbody,htmlSerialize,style,hrefNormalized,opacity,cssFloat,checkOn,optSelected,getSetAttribute….等兼容问题,所有的这些属性也只是jQuery内部会用到,因为jQ内部一些模块需要对这些东西进行判断, 就直接写成了一个support模块, 可以供我们, 但是我们写代码的时基本都没用到啊,

今天再把这些玩意儿过一下, 测试的浏览器为FF,CHROME,IE11, IE6-IE10是用IE11模拟的:

$.support.leadingWhitespace  ———— IE中自动去空格

$.support.checkOn   —-chrome中radio默认值为checkOn

$.support.tbody  —-IE通过innerHTML自动生成tbody

$.support.htmlSerialize —–  标准浏览器会自动生成link标签

$.support.style  —-IE67中getAttriute会获取各种类型的数据….

$.support.opacity  —- IE678不支持opacity

$.support.cssFloat   —-cssFloat标准浏览器支持的,IE要用styleFloat

$.support.optSelected  —–浏览器并不会设置默认的option

$.support.getSetAttribute  —-getSetAttribute在浏览器之间的兼容

$.support.html5Clone   —- 复制标签的问题

$.support.boxModel  —- 是否支持盒模型

$.support.submitBubbles  —-冒泡

$.support.changeBubbles  —-冒泡

$.support.focusinBubbles  —-冒泡

$.support.deleteExpando   —–IE的DOM元素是COM组件, 不能delete组件的属性

$.support.noCloneEvent   —-复制元素的事件

$.support.reliableHiddenOffsets   —-table元素中tr内td的问题;

$.support.boxSizing  —是否支持boxSizing

$.support.doesNotIncludeMarginInBodyOffset  —-body不会包含margin的问题(算不算问题呢?)

$.support.pixelPosition   —-获取样式返回的是否是像素值

$.support.boxSizingReliable  —-boxSizing是否可用

$.support.reliableMarginRight    —-chrome中margin的bug

$.support.inlineBlockNeedsLayout    —-IE中layout的问题

$.support.shrinkWrapBlocks    —-IE6中自动扩大宽高的问题

$.support.leadingWhitespace属性


<html>
<head>
<meta charset="utf-8" />
<title>兼容</title>
</head>
<body>
<script type="text/javascript">