wijmo/Wijmo-Open-Legacy

jQuery 1.9.0 depricated .live() function

Opened this issue · 0 comments

Hi.
Just started using jQuery v1.9.0 and found this problem with the jquery.wijmo.wijaccordion.js script. The .live()
no longer works without the migration tool, starting at line 488:

/** Private methods */

_bindLiveEvents: function () {
this.element.find('.wijmo-wijaccordion-header')
.live(this.options.event + ".wijaccordion",
jQuery.proxy(this._onHeaderClick, this))
.live("keydown.wijaccordion",
jQuery.proxy(this._onHeaderKeyDown, this))
.live("mouseenter.wijaccordion",
function () { $(this).addClass('ui-state-hover'); })
.live("mouseleave.wijaccordion",
function () { $(this).removeClass('ui-state-hover'); })
.live("focus.wijaccordion",
function () { $(this).addClass('ui-state-focus'); })
.live("blur.wijaccordion",
function () { $(this).removeClass('ui-state-focus'); });
}

I changed it to this, which works (not a jQuery expert so there may be a better re-write):

    /** Private methods **/
    _bindLiveEvents: function () {
        $(document).on(this.options.event + ".wijaccordion", '.wijmo-wijaccordion-header', jQuery.proxy(this._onHeaderClick, this))
        $(document).on("keydown.wijaccordion", '.wijmo-wijaccordion-header', jQuery.proxy(this._onHeaderKeyDown, this))
        $(document).on("mouseenter.wijaccordion", '.wijmo-wijaccordion-header', function () { $(this).addClass('ui-state-hover'); })
        $(document).on("mouseleave.wijaccordion", '.wijmo-wijaccordion-header', function () { $(this).removeClass('ui-state-hover'); })
        $(document).on("focus.wijaccordion", '.wijmo-wijaccordion-header', function () { $(this).addClass('ui-state-focus'); })
        $(document).on("blur.wijaccordion", '.wijmo-wijaccordion-header', function () { $(this).removeClass('ui-state-focus'); });
    }

...but it does seem to function ok.