56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
|
/*!
|
||
|
* getStyleProperty v1.0.4
|
||
|
* original by kangax
|
||
|
* http://perfectionkills.com/feature-testing-css-properties/
|
||
|
* MIT license
|
||
|
*/
|
||
|
|
||
|
/*jshint browser: true, strict: true, undef: true */
|
||
|
/*global define: false, exports: false, module: false */
|
||
|
|
||
|
( function( window ) {
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
var prefixes = 'Webkit Moz ms Ms O'.split(' ');
|
||
|
var docElemStyle = document.documentElement.style;
|
||
|
|
||
|
function getStyleProperty( propName ) {
|
||
|
if ( !propName ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// test standard property first
|
||
|
if ( typeof docElemStyle[ propName ] === 'string' ) {
|
||
|
return propName;
|
||
|
}
|
||
|
|
||
|
// capitalize
|
||
|
propName = propName.charAt(0).toUpperCase() + propName.slice(1);
|
||
|
|
||
|
// test vendor specific properties
|
||
|
var prefixed;
|
||
|
for ( var i=0, len = prefixes.length; i < len; i++ ) {
|
||
|
prefixed = prefixes[i] + propName;
|
||
|
if ( typeof docElemStyle[ prefixed ] === 'string' ) {
|
||
|
return prefixed;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// transport
|
||
|
if ( typeof define === 'function' && define.amd ) {
|
||
|
// AMD
|
||
|
define( function() {
|
||
|
return getStyleProperty;
|
||
|
});
|
||
|
} else if ( typeof exports === 'object' ) {
|
||
|
// CommonJS for Component
|
||
|
module.exports = getStyleProperty;
|
||
|
} else {
|
||
|
// browser global
|
||
|
window.getStyleProperty = getStyleProperty;
|
||
|
}
|
||
|
|
||
|
})( window );
|