вызов функции jquery и передача переменной - PullRequest
1 голос
/ 29 ноября 2009

На самом деле не так уж много людей из JS - так может кто-нибудь объяснить, почему это не работает? Я хочу вызвать предопределенную функцию в одном скрипте из моего простого скрипта AJAX - я просто хочу, чтобы он вызывал функциональность qtip для содержимого div, переданного на страницу через AJAX.

Спасибо, H

SCript 1 - AJAX loader

       if(myHttpRequest.readyState==4)
            data.innerHTML = myHttpRequest.responseText;
                qtip_me('.div_to_act_on');
  }

Скрипт 2 - основной скрипт JQuery

$(document).ready(function() {

    function qtip_me(a) {
        $(a).each(function() {
           $(this).qtip({ 
               content: {'showme'},
                position: {corner: {tooltip: 'bottomLeft', target: 'topRight'}},
                style: { 
                      width: 300,
                      padding: 5,
                      background: '#A2D959',
                      color: 'black',
                      textAlign: 'center',
                      border: {
                         width: 7,
                         radius: 5,
                         color: '#A2D959'
                      },
                      tip: 'bottomLeft',
                      name: 'dark' // Inherit the rest of the attributes from the preset dark style
                }           
            }); 
        });
    };
});

Ответы [ 3 ]

2 голосов
/ 29 ноября 2009

Возможно, что определенная функция не входит в область видимости. Попробуйте определить функцию следующим образом:

qtip_me = function(a) {}

Таким образом, это будет в области видимости.

Или, как говорят другие ответы, не определяйте функцию внутри документа.

2 голосов
/ 29 ноября 2009

Она объявляет функцию qtip_me в лексической области видимости, к ней нельзя получить доступ из-за пределов ее функции.

1 голос
/ 29 ноября 2009

Вам не нужно вкладывать вашу функцию qtip_me () в блок $ (document) .ready. Это общий вызов функции, а не тот, который зависит от полной загрузки документа. Это связано с тем, что предполагается, что ваш предыдущий запрос AJAX произошел после загрузки документа (может быть ошибочным предположением).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...