jquery Ajax: селектор как функция param не регистрируется? - PullRequest
0 голосов
/ 11 августа 2011

Понятия не имею, почему это не работает для меня.

Я вызываю это по щелчку ссылки!

$('.pagination a').live('click', function(e) {
    e.preventDefault();
    var page = $(this).attr("data-ajax-link");

    //get classname of container box that should be reloaded
    var box = $(this).parent().parent();

    ajaxLoad(box, page, false);
    console.log(box); //takes some time as well! WHY?

});

А вот и эта функция, которая срабатывает.

function ajaxLoad(targetBox, loadUrl) {

    console.log('start');
    console.log($(targetBox));

    $.ajax({
        url: loadUrl,
        dataType: "html",
        success: function(html,status) {
            console.log('end');

Странная вещь, которую я не понимаю, это то, что console.log('start') немедленно регистрируется в моей консоли, но console.log($(targetBox)); не появляется в консоли, пока не вернется успех функции ajax!

почему это?Любая идея?

Это HTML, который вызывает функцию.

<div class="list wide">        
     <div class="pagination">
          <span>&lt;</span>
          <em>[1]</em>
          <a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">2</a>
          <a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">&gt;</a>
     </div>
...

Итак, элемент, который я выбираю с parent (). Parent (), это div.list.Так что на самом деле .list должен быть зарегистрирован сразу при нажатии на ссылку.

1 Ответ

0 голосов
/ 11 августа 2011

Работает для меня в этом простом примере:

http://jsfiddle.net/vmkcG/

Можете ли вы обновить, чтобы показать контекст этого? То есть показать это в контексте функции, в которой он используется для назначения блоку?

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