mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
core: added :data selector that matches elements that have data for a given key.
droppable: removed the addition of "ui-droppable" class which greatly improves intialization time for IE6/7 and FF2
This commit is contained in:
parent
d28b09a984
commit
c54f6ba62e
@ -9,6 +9,11 @@
|
||||
*/
|
||||
;(function($) {
|
||||
|
||||
// This adds a selector to check if data exists.
|
||||
jQuery.extend(jQuery.expr[':'], {
|
||||
data: "jQuery.data(a, m[3])"
|
||||
});
|
||||
|
||||
$.ui = {
|
||||
plugin: {
|
||||
add: function(module, option, set) {
|
||||
|
@ -16,17 +16,12 @@
|
||||
$.widget("ui.droppable", {
|
||||
init: function() {
|
||||
|
||||
this.element.addClass("ui-droppable");
|
||||
this.isover = 0; this.isout = 1;
|
||||
|
||||
//Prepare the passed options
|
||||
var o = this.options, accept = o.accept;
|
||||
o = $.extend(o, {
|
||||
accept: o.accept && o.accept.constructor == Function ? o.accept : function(d) {
|
||||
return $(d).is(accept);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.options.accept = this.options.accept && this.options.accept.constructor == Function ? this.options.accept : function(d) {
|
||||
return d.is(accept);
|
||||
};
|
||||
|
||||
//Store the droppable's proportions
|
||||
this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
|
||||
|
||||
@ -52,7 +47,7 @@ $.widget("ui.droppable", {
|
||||
drop.splice(i, 1);
|
||||
|
||||
this.element
|
||||
.removeClass("ui-droppable ui-droppable-disabled")
|
||||
.removeClass("ui-droppable-disabled")
|
||||
.removeData("droppable")
|
||||
.unbind(".droppable");
|
||||
},
|
||||
@ -84,7 +79,7 @@ $.widget("ui.droppable", {
|
||||
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
|
||||
|
||||
var childrenIntersection = false;
|
||||
this.element.find(".ui-droppable").not(".ui-draggable-dragging").each(function() {
|
||||
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
|
||||
var inst = $.data(this, 'droppable');
|
||||
if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
|
||||
childrenIntersection = true; return false;
|
||||
@ -222,7 +217,7 @@ $.ui.ddmanager = {
|
||||
|
||||
var parentInstance;
|
||||
if (this.options.greedy) {
|
||||
var parent = this.element.parents('.ui-droppable:eq(0)');
|
||||
var parent = this.element.parents(':data(droppable):eq(0)');
|
||||
if (parent.length) {
|
||||
parentInstance = $.data(parent[0], 'droppable');
|
||||
parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
|
||||
|
Loading…
Reference in New Issue
Block a user