编程语言
首页 > 编程语言> > javascript-遍历所有YUI小部件

javascript-遍历所有YUI小部件

作者:互联网

我正在寻找一种遍历所有YUI小部件的方法.我希望能够在所有小部件上调用一个函数.

我试图选择所有带有yui3-widget类的元素,但是那样,我只能得到将小部件呈现到的div元素.我想要的是所有对象.因此,这似乎不符合我的要求:

YUI().use ('*', function (Y){
    $('.yui3-widget').each (function (idx, elem) {
        var id = elem.getAttribute('id');
        console.log (Y.Widget.getByNode(id));
        console.log ('#'+id);
    })
})

你们有没有建议如何实现?

解决方法:

要看的三件事:

.1.合并库(YUI和Jquery)是可能的,但是非常令人困惑.尽管我们可以认为这是必要的,然后继续进行下去.

.2. “ getByNode”需要一个YUI节点或选择器字符串.因此,该行应显示为:

console.log (Y.Widget.getByNode('#' + id));

.3. YUI().use(…行声明了一个新的YUI沙箱,其中不包含任何小部件.您的节点列表遍历了页面上所有匹配的“ .yui3-widget”项目,但这些都不是窗口小部件已在您的新沙箱中注册,因此Y.Widget.getByNode(‘#’id)将返回null.要更正此问题,您需要将代码放入创建窗口小部件的沙箱中,或获取指向您的“使用”函数调用.类似:

var sandbox = YUI().use('*', function (Y){

   // widgets defined here
});

sandbox.use ('*', function (Y){
    $('.yui3-widget').each (function (idx, elem) {
        var id = elem.getAttribute('id');
        console.log (Y.Widget.getByNode('#' + id));
        console.log ('#'+id);
    })
});

标签:javascript,yui
来源: https://codeday.me/bug/20191208/2088191.html