jQuery2.1.1源码分析二-浏览器功能测试Support
浏览器功能测试Support
jQuery浏览器功能测试包含全局Support、Sizzle-Support和jQuery.support三个部分。
全局Support是声明全局变量support,support为空对象,这个对象,并不是在声明时统一定义功能,而是在不同模块内,分散定义浏览器功能(13项),用于存储jQuery内部所用到的浏览器功能测试。
checkClone
检验当前浏览器在复制check元素时,是否可以复制checked状态
noCloneChecked
检验当前浏览器在复制DOM元素时,是否可以复制textarea元素和check元素的defaultValue
focusinBubbles
检验当前浏览器是否支持onfocusin事件
clearCloneStyle
boxSizingReliable
reliableMarginRight
检验当前浏览器是否返回正确的计算样式marginRight(右外边距)
checkOn
用来检测check、radio元素未指定value时的默认值。Webkit默认值为空字符串,其他默认值为on。
在radio、checkbox元素未指定value时,统一返回on
optSelected
检验当前浏览器选择框默认选择项selected的值
optDisabled
检验当前浏览器选择框被禁用,其选择项是否被自动禁用
radioValue
检验当前浏览器设置type为radio时,其value值是否会丢失
cors
检验当前浏览器是否支持跨域资源共享
ajax
检验当前浏览器能否创建XMLHttpRequest对象
pixelPosition
Sizzle-Support是Sizzle引擎模块内也声明了support空对象,与Sizzle.support指向同一个对象,用于存储Sizzle引擎所用到的浏览器功能测试(10项),并未暴露给jQuery对象。
getElementsByClassName
qsa
attributes
检验当前浏览器设置属性时,是否需要传入DOM属性参数
getElementsByTagName
getById
matchesSelector
disconnectedMatch
sortDetached
detectDuplicates
sortStable
jQuery.support是在jQuery对象上,定义了一个support属性,也为空对象,在jQuery库内并未使用,用于存储其他工程或项目所用到的浏览器功能测试。
码文不易,谢谢打赏