mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
parent
bddb7efe00
commit
2c92f10747
@ -2,7 +2,8 @@ define( [
|
||||
"jquery",
|
||||
"lib/common",
|
||||
"ui/core",
|
||||
"ui/form"
|
||||
"ui/form",
|
||||
"ui/labels"
|
||||
], function( $, common ) {
|
||||
|
||||
module( "core - jQuery extensions" );
|
||||
|
@ -22,9 +22,9 @@
|
||||
// AMD. Register as an anonymous module.
|
||||
define([
|
||||
"jquery",
|
||||
"./core",
|
||||
"./data",
|
||||
"./keycode",
|
||||
"./labels",
|
||||
"./version",
|
||||
"./widget"
|
||||
], factory );
|
||||
|
37
ui/core.js
37
ui/core.js
@ -22,11 +22,11 @@
|
||||
"jquery",
|
||||
"./data",
|
||||
"./disable-selection",
|
||||
"./escape-selector",
|
||||
"./focusable",
|
||||
"./form",
|
||||
"./ie",
|
||||
"./keycode",
|
||||
"./labels",
|
||||
"./version"
|
||||
], factory );
|
||||
} else {
|
||||
@ -113,41 +113,6 @@ $.fn.extend( {
|
||||
$( this ).removeAttr( "id" );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
labels: function() {
|
||||
var ancestor, selector, id, labels, ancestors;
|
||||
|
||||
// Check control.labels first
|
||||
if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
|
||||
return this.pushStack( this[ 0 ].labels );
|
||||
}
|
||||
|
||||
// Support: IE <= 11, FF <= 37, Android <= 2.3 only
|
||||
// Above browsers do not support control.labels. Everything below is to support them
|
||||
// as well as document fragments. control.labels does not work on document fragments
|
||||
labels = this.eq( 0 ).parents( "label" );
|
||||
|
||||
// Look for the label based on the id
|
||||
id = this.attr( "id" );
|
||||
if ( id ) {
|
||||
|
||||
// We don't search against the document in case the element
|
||||
// is disconnected from the DOM
|
||||
ancestor = this.eq( 0 ).parents().last();
|
||||
|
||||
// Get a full set of top level ancestors
|
||||
ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
|
||||
|
||||
// Create a selector for the label based on the id
|
||||
selector = "label[for='" + $.ui.escapeSelector( id ) + "']";
|
||||
|
||||
labels = labels.add( ancestors.find( selector ).addBack( selector ) );
|
||||
|
||||
}
|
||||
|
||||
// Return whatever we have found for labels
|
||||
return this.pushStack( labels );
|
||||
}
|
||||
} );
|
||||
|
||||
|
62
ui/labels.js
Normal file
62
ui/labels.js
Normal file
@ -0,0 +1,62 @@
|
||||
/*!
|
||||
* jQuery UI Labels @VERSION
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*/
|
||||
|
||||
//>>label: labels
|
||||
//>>group: Core
|
||||
//>>description: Find all the labels associated with a given input
|
||||
//>>docs: http://api.jqueryui.com/labels/
|
||||
|
||||
( function( factory ) {
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
|
||||
// AMD. Register as an anonymous module.
|
||||
define( [ "jquery", "./version", "./escape-selector" ], factory );
|
||||
} else {
|
||||
|
||||
// Browser globals
|
||||
factory( jQuery );
|
||||
}
|
||||
} ( function( $ ) {
|
||||
|
||||
return $.fn.labels = function() {
|
||||
var ancestor, selector, id, labels, ancestors;
|
||||
|
||||
// Check control.labels first
|
||||
if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
|
||||
return this.pushStack( this[ 0 ].labels );
|
||||
}
|
||||
|
||||
// Support: IE <= 11, FF <= 37, Android <= 2.3 only
|
||||
// Above browsers do not support control.labels. Everything below is to support them
|
||||
// as well as document fragments. control.labels does not work on document fragments
|
||||
labels = this.eq( 0 ).parents( "label" );
|
||||
|
||||
// Look for the label based on the id
|
||||
id = this.attr( "id" );
|
||||
if ( id ) {
|
||||
|
||||
// We don't search against the document in case the element
|
||||
// is disconnected from the DOM
|
||||
ancestor = this.eq( 0 ).parents().last();
|
||||
|
||||
// Get a full set of top level ancestors
|
||||
ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
|
||||
|
||||
// Create a selector for the label based on the id
|
||||
selector = "label[for='" + $.ui.escapeSelector( id ) + "']";
|
||||
|
||||
labels = labels.add( ancestors.find( selector ).addBack( selector ) );
|
||||
|
||||
}
|
||||
|
||||
// Return whatever we have found for labels
|
||||
return this.pushStack( labels );
|
||||
};
|
||||
|
||||
} ) );
|
@ -26,9 +26,12 @@
|
||||
"./version",
|
||||
"./escape-selector",
|
||||
"./menu",
|
||||
"./keycode",
|
||||
"./labels",
|
||||
"./position",
|
||||
"./version",
|
||||
"./widget" ], factory );
|
||||
"./widget"
|
||||
], factory );
|
||||
} else {
|
||||
|
||||
// Browser globals
|
||||
|
Loading…
Reference in New Issue
Block a user