我正在使用以下代码加载两个 underscore.js 模板。单击第一个链接后,将加载骨架模板。第一个触发器执行 find 绑定,它正确执行 loadBookmarks 函数,但“加载”触发器永远不会触发,并且 loadFriendBookmarks 永远不会执行。为什么是这样?还有其他方法可以实现这一点吗?
$('#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 和触发器之间粘贴警报,一切正常。如果我把它拿出来,那就没有了。知道为什么吗?