jQuery.cssHooks
描述: 直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性。
添加的版本: 1.4.3jQuery.cssHooks
$.cssHooks 对象提供了一种方法通过定义函数来获取和设置特定的CSS值的方法。 它也可以被用来创建新的cssHooks以标准化CSS3功能,如框阴影和渐变。
例如,某些版本基于Webkit的浏览器需要-webkit-border-radius属性来设置元素的border-radius,而早期的Firefox版本使用-moz-border-radius属性。一个CSS hook 可以标准化这些供应商前缀的属性,让.css() 接受一个单一的,标准的属性的名称(border-radius,或用DOM属性的语法,borderRadius)。
除了提供了对特定样式的处理可以采用更加细致的控制外, $.cssHooks也扩展了.animate() 方法上可用的属性。
定义一个新的css hook十分简单。下面的模板可以方便您创建自己的 cssHook:
(function($) {
// first, check to see if cssHooks are supported
if ( !$.cssHooks ) {
// if not, output an error message
throw("jQuery 1.4.3 or above is required for this plugin to work");
return;
}
// Wrap in a document ready call, because jQuery writes
// cssHooks at this time and will blow away your functions
// if they exist.
$(function () {
$.cssHooks["someCSSProp"] = {
get: function( elem, computed, extra ) {
// handle getting the CSS property
},
set: function( elem, value ) {
// handle setting the CSS value
}
};
});
})(jQuery);
|