Bug Tracker

Ticket #4539: closest-live-context.patch

File closest-live-context.patch, 776 bytes (added by trixi, 7 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;