0

根据这里的文档,我应该可以使用

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({ ...所以我对我缺少的东西感到困惑

4

1 回答 1

1

您将 jQuery 样式与 YUI 样式混淆了一点。在 jQuery 中调用该$函数会返回一个jQuery具有很多函数的对象。但在 YUI 中,并非所有组件都是可以从节点查询中调用的方法。在这种情况下,Masonry 被定义为一个类,所有实例都可以从中获取某些方法,例如appended()or reload()。这意味着您的代码应如下所示:

var masonry = new Y.Masonry({ ... });
masonry.appended(newImages, function () {
  console.log("appended");
});
于 2012-10-15T13:57:23.703 回答