Bug Tracker

Ticket #4539: closest-live-context.patch

File closest-live-context.patch, 776 bytes (added by trixi, 6 years ago)
  • traversing.js

     
    3434                        }) ), "filter", selector ); 
    3535        }, 
    3636 
    37         closest: function( selector ) { 
     37        closest: function( selector, context ) { 
    3838                var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null, 
    39                         closer = 0; 
     39                        closer = 0, 
     40                        stopElement = ( context && context.parentNode ) ? context.parentNode : false;; 
    4041 
    4142                return this.map(function(){ 
    4243                        var cur = this; 
    43                         while ( cur && cur.ownerDocument ) { 
     44                        while ( cur && cur.ownerDocument && stopElement !== cur) { 
    4445                                if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) { 
    4546                                        jQuery.data(cur, "closest", closer); 
    4647                                        return cur;