jquery widget.bridge fix

fix for jquery bug encountered in 1.9.1

by Avinash_R

HTML

<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<div id="test"></div>

JavaScript

/*! jQuery UI - v1.10.0pre - 2012-11-06
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.effect-clip.js, jquery.ui.effect-blind.js, jquery.ui.effect-scale.js, jquery.ui.progressbar.js, jquery.ui.datepicker.js, jquery.ui.position.js, jquery.ui.effect-pulsate.js, jquery.ui.tooltip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.button.js, jquery.ui.effect-fade.js, jquery.ui.effect-slide.js, jquery.ui.effect-bounce.js, jquery.ui.slider.js, jquery.ui.dialog.js, jquery.ui.spinner.js, jquery.ui.effect-transfer.js, jquery.ui.tabs.js, jquery.ui.effect-shake.js, jquery.ui.effect-highlight.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.effect-fold.js, jquery.ui.menu.js
* Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */

(function( $, undefined ) {

var uuid = 0,
    runiqueId = /^ui-id-\d+$/;

// prevent duplicate loading
// this is only a problem because we proxy existing functions
// and we don't want to double proxy them
$.ui = $.ui || {};
if ( $.ui.version ) {
    return;
}

$.extend( $.ui, {
    version: "@VERSION",

    keyCode: {
        BACKSPACE: 8,
        COMMA: 188,
        DELETE: 46,
        DOWN: 40,
        END: 35,
        ENTER: 13,
        ESCAPE: 27,
        HOME: 36,
        LEFT: 37,
        NUMPAD_ADD: 107,
        NUMPAD_DECIMAL: 110,
        NUMPAD_DIVIDE: 111,
        NUMPAD_ENTER: 108,
        NUMPAD_MULTIPLY: 106,
        NUMPAD_SUBTRACT: 109,
        PAGE_DOWN: 34,
        PAGE_UP: 33,
        PERIOD: 190,
        RIGHT: 39,
        SPACE: 32,
        TAB: 9,
        UP: 38
    }
});

// plugins
$.fn.extend({
    _focus: $.fn.focus,
    focus: function( delay, fn ) {
        return typeof delay === "number" ?
            this.each(function() {
                var elem = this;
              ...