jQuery UI Widget Factory и прототип?

Как с помощью jQuery UI Widget Factory установить свойство, которое будет иметь одинаковое значение во всех экземплярах плагина? (Таким образом, если значение изменяется в одном экземпляре, оно изменяется во всех экземплярах.)

eg

$.widget( "myplugin" , { 

   avalue : 1,

});

person user1031947    schedule 21.12.2012    source источник
comment
Это должно работать, так как это глобальная декларация. Вы можете захотеть использовать пространство имен для своих глобальных переменных, чтобы предотвратить коллизии.   -  person Mike Robinson    schedule 21.12.2012


Ответы (1)


Один из способов сделать это — сохранить значение в закрытии следующим образом:

(function () {
    var value = 0;

    $.widget('my.plugin', {
        _create: function () {
            value++;
        },
        getValue: function () {
            return value;
        }
    });
})();

$('.element').plugin();
$('.second-element').plugin();

$('.element').plugin('getValue'); // 2
person riscarrott    schedule 03.02.2013