我正在使用下面的代码来加载两个underscore.js模板。点击第一个链接后,加载框架模板。第一个触发器执行find bind,它正确地执行loadBookmarks函数,但'loaded'触发器永远不会触发并且loadFriendBookmarks永远不会执行。为什么是这样?是否有另一种方法来实现这一点?为什么jQuery的这些嵌套触发器不起作用?
$('#bookmarks-link').click(function() {
$('#bookmarks-count').text("0");
var skeleton = modalTemplate();
$('#bookmarks').append(skeleton);
$('#bookmarks').trigger('skeleton');
});
$('#bookmarks').bind('skeleton', function() {
$('#bookmarks .thumbnails').loadBookmarks(getBookmarksUrl(1));
// If I add an alert('hi') here, it works perfectly.
$('#bookmarks').trigger('loaded');
});
$('#bookmarks').bind('loaded', function() {
$('#bookmarks .thumbnails a').each(function() {
$(this).bind('click', function() {
$('#bookmarks .bookmarks-table tbody').empty();
$('#bookmarks .bookmarks-table tbody').loadFriendBookmarks(
getFriendBookmarksUrl($(this).attr('data-item'))
);
});
});
});
所以足够有趣,触发器都正常工作:如果我在loadBookmarks和触发之间坚持一个警告,一切工作正常。如果我把它拿出来,那么它不会。任何想法为什么?
这正是我所期待的!非常感谢! – ArKi