2013-01-24 4 views
0

Я ajaxified ссылки в моем проекте рельсы:

<%= link_to 'Click me!', some_url, remote: true %> 

Я добавил крючки для прослушивания АЯКС событий:

$(function(){ 
    $(document).ajaxSend(function(){$('#busy').show()}) 
    $(document).ajaxComplete(function(){$('#busy').hide()}) 
}) 

Это работает ожидается в FF.

В Chrome, то #busy DIV появляется, как и ожидалось, когда Ajax запрос отправляется, но когда приходит запрос Chrome погаснет, и консоль показывает длинный яваскрипта сообщение об ошибке:

jQuery.event.dispatch 
elemData.handle.eventHandle 
jQuery.event.trigger 
(anonymous function) 
jQuery.extend.each 
jQuery.fn.jQuery.each 
jQuery.fn.extend.trigger 
... (several hundred lines of pretty much the same stuff) 

Почему Chrome ненадежен на что похоже на простое дополнение обработчика событий?

ответ

0

Я знаю, что это не отвечает на вопрос прямо, но как рельсы для обработки Ajax события сфотографирован на этой странице: https://github.com/rails/jquery-ujs/wiki/ajax

Это может быть связано с тем, как события передается вверх.

<%= link_to 'Click me!', some_url, remote: true, id: 'clickable' %> 

$('#clickable').on('ajax:beforeSend', function(event, xhr, settings) { 
    $('#busy').show() 
}); 

$('#clickable').on('ajax:complete', function(event, xhr, settings) { 
    $('#busy').hide() 
}); 
Смежные вопросы