我在几个地方读到 jquery 1.6 及更高版本在使用 css() 方法时会自动应用供应商前缀。我正在使用 Jquery 1.11.1,它似乎没有做这样的事情。
如果我打电话:
$(div).css({transform:"scale(2)"});
并检查 Chrome 开发人员工具的样式检查器,它准确显示:“transform: scale(2);” 没有供应商前缀。
为什么会这样,我应该自己添加各种供应商前缀吗?
我在几个地方读到 jquery 1.6 及更高版本在使用 css() 方法时会自动应用供应商前缀。我正在使用 Jquery 1.11.1,它似乎没有做这样的事情。
如果我打电话:
$(div).css({transform:"scale(2)"});
并检查 Chrome 开发人员工具的样式检查器,它准确显示:“transform: scale(2);” 没有供应商前缀。
为什么会这样,我应该自己添加各种供应商前缀吗?
jQuery 会为您添加前缀,但前提是浏览器确实需要它。Chrome 已经有一段时间不需要转换前缀了(准确地说,从 36 版开始),所以 jQuery 不会打扰。
此检查在第 6436 行进行:
function vendorPropName( style, name ) {
// shortcut for names that are not vendor prefixed
if ( name in style ) {
return name;
}
// ...