根据docs here,我应该可以使用
Y.one("#container").appended( newImages, function(){
console.log("appended");
});
将新项目添加到我的网页,但收到错误#container has no method 'appended'
。
如果我尝试Y.one("#container").masonry('appended', newImages);
它会告诉我#container
没有方法'砌砖'
我在函数var masonry = new Y.Masonry({ ...
的开头定义了砌体,所以我对我缺少的东西感到困惑
答案 0 :(得分:1)
你有点混淆jQuery风格和YUI风格。在jQuery调用中,$
函数返回一个具有许多函数的jQuery
对象。但是在YUI中,并非所有组件都是可以从节点查询调用的方法。在这种情况下,Masonry被定义为一个类,所有实例都可以从中获得appended()
或reload()
等特定方法。这意味着您的代码应如下所示:
var masonry = new Y.Masonry({ ... });
masonry.appended(newImages, function () {
console.log("appended");
});