2014-12-02 6 views
0

В моем приложении Rails я использую will_paginate и partials, чтобы сделать так, чтобы вы могли переходить по страницам списка без обновления страницы. Это является JS я использую, чтобы вызвать партиалы и сделать все это:AJAX pagination обновляет страницу каждую другую ссылку

$(function() { 
    $('.pagination a').on("click", function() { 
     $.get(this.href, null, null, 'script'); 
     return false; 
    }); 
}); 

По некоторым причинам, однако, он прекрасно работает, когда я нажимаю ссылку в первый раз; заменяет частичную обновленную. Однако после этого я нажимаю следующую ссылку привязки страницы и страница полностью обновляется. Любая идея почему? Я полагаю, что этот JS выполняется только тогда, когда DOM изначально загружен, и поэтому, когда частичная часть заменяется на одну, содержащую новые ссылки, они не подключены к этому коду. Если это правильно, как я могу его исправить?

ответ

0

похоже, что вам, возможно, придется использовать делегирование делегирования ... агаментный запрос pagination может также заменять элементы .pagination a, что означает, что вновь созданные элементы не имеют зарегистрированного обработчика кликов.

Так что попробуйте

$(function() { 
    $(document).on("click", '.pagination a', function() { 
     $.get(this.href, null, null, 'script'); 
     return false; 
    }); 
}); 
Смежные вопросы