Ticket #3177: click-prevention.patch

File click-prevention.patch, 1.3 KB (added by Scott González, 11 years ago)
  • Users/sgonzale/Documents/workspace/jQuery

     
    171171                }
    172172
    173173                return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;
     174        },
     175
     176        bindFirst: function(types, data, fn) {
     177                return this.each(function(index, elem) {
     178                        $.each(types.split(/\s+/), function(index, type) {
     179                                var eventType = type.split(".").shift(),
     180                                        events = $.data(elem, "events"),
     181                                        originalEvents = events && events[eventType] || null;
     182
     183                                if (!originalEvents) {
     184                                        return $(elem).bind(type, data, fn);
     185                                }
     186
     187                                events[eventType] = {};
     188                                $(elem).bind(type, data, fn);
     189                                $.extend(events[eventType], originalEvents);
     190                        });
     191                });
    174192        }
    175193});
    176194
     
    377395                        .bind('mousedown.'+this.widgetName, function(event) {
    378396                                return self._mouseDown(event);
    379397                        })
    380                         .bind('click.'+this.widgetName, function(event) {
     398                        .bindFirst('click.'+this.widgetName, function(event) {
    381399                                if(self._preventClickEvent) {
    382400                                        self._preventClickEvent = false;
     401                                        event.stopImmediatePropagation();
    383402                                        return false;
    384403                                }
    385404                        });