Как переменная область действия будет работать в этом сценарии? - PullRequest
0 голосов
/ 13 марта 2011

Привет, ребята, я задаю аналогичный вопрос ранее и прошу прощения за двойную публикацию, но это вопрос гораздо большего снаряжения к тому, что я хотел. Я часами разбирался с этим и пока не придумал ничего особенного.

Существует три функции, одна всеобъемлющая функция, а затем две функции внутри нее, которые запускаются по событию переключения. И я хочу, чтобы вторая функция сделала что-то, чтобы получить значение и передать его второй функции.

   function(){

    $('selector').toggle(

        //i want this to gather a value and store it in a variable
        function(){ },

        //and i want this to accept the variable and value from the previous function
        function(){}
    )}

Ответы [ 2 ]

0 голосов
/ 14 марта 2011
function(){
  // this var will be in scope for anything inside this function
  var availableInBoth;

  $('selector').toggle( function(){
      // this var is only usable in this function
      var availableHereOnly = 10;
      availableInBoth = 10;
  }, function(){
      console.log(availableInBoth);
  })
}
0 голосов
/ 13 марта 2011

Вы можете использовать jQuery Data (http://api.jquery.com/jQuery.data/), чтобы сохранить значение для каждого элемента в селекторе, совпадающем для сохранения и получения значения.

экс:

function(a,b){



     $('selector').toggle(

            //i want this to gather a value and store it in a variable
            function(){ 
             $(this).data("<YOUR_VARIABLE_NAME>", <YOUR_VARIABLE_VALUE>);
            },

            //and i want this to accept the variable and value from the previous function
            function(){
             var someVariable  = $(this).data("<YOUR_VARIABLE_NAME>");
            }
        )}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...