mirror of
https://github.com/jquery/jquery.git
synced 2026-02-07 06:35:08 -05:00
In 1.x if the support test executes before doc ready, it may not be able to return a result yet. In such a case, we protect ourselves from future breakages, allowing only for the ones before doc ready. Since in 2.x lazy support tests attach test elements to docElem, not body, such a guard is unnecessary.
25 lines
590 B
JavaScript
25 lines
590 B
JavaScript
define(function() {
|
|
|
|
function addGetHookIf( conditionFn, hookFn ) {
|
|
// Define the hook, we'll check on the first run if it's really needed.
|
|
return {
|
|
get: function() {
|
|
if ( conditionFn() ) {
|
|
// Hook not needed (or it's not possible to use it due to missing dependency),
|
|
// remove it.
|
|
// Since there are no other hooks for marginRight, remove the whole object.
|
|
delete this.get;
|
|
return;
|
|
}
|
|
|
|
// Hook needed; redefine it so that the support test is not executed again.
|
|
|
|
return (this.get = hookFn).apply( this, arguments );
|
|
}
|
|
};
|
|
}
|
|
|
|
return addGetHookIf;
|
|
|
|
});
|