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