Я возился с этим кодом:
var items;
function getMessage(index) {
if (index == items.size()) return;
var item = items.eq(index);
$.get('/message/' + index,
function(response) {
item.html(response);
$("ul").trigger('updated', index);
}
);
}
$(document).ready(function(){
items = $(".message");
$("ul").bind('updated',
function(event, i) {
getMessage(i + 1);
}
);
getMessage(0);
});
И этот HTML:
<ul>
<li class="message"></li>
<li class="message"></li>
<li class="message"></li>
</ul>
Согласно документации функции jQuery .trigger (), «один [дополнительный] параметр может быть передан без использования массива.»
Но в приведенном выше коде функция, прослушивающая событие «update», никогда не получает параметр «index» (передается в строке 9), если я не заключу его в квадратные скобки, например:
$("ul").trigger('updated', [index]);
Я даже не уверен, связано ли это с jQuery. Не могли бы вы помочь мне понять, что происходит?