繁体   English   中英

应用于未触发的数组元素的函数

[英]functions applied to array elements not firing

我整个下午都对这个问题感到难过; 我正在尝试将Google的快速按钮教程应用到导航栏上的“后退”按钮: https//developers.google.com/mobile/articles/fast_buttons 每个部分都有一个后退按钮,因为它的构建如下:

<ul class="menu">
    <li class="category">
        <a class="back"></a>
            <li class="product">
    </li>
    <li class="category">
    etc...

菜单随css3过渡滑入和滑出。 这就是让我疯狂的原因; 我存储所有后退按钮,然后将它们发送到一个数组,并迭代调用FastButton函数的每个按钮。

var back = document.getElementsByClassName('back');

back = Array.prototype.slice.call(back);

for (var i = 0; i < back.length; i++) {
            new FastButton(back[i], function(){
                $(back[i]).trigger('click');
            });
        }

('li.back').click(function(){
    doStuff();
});

点击fn永远不会触发; 我可以看到应用和移除了tap-higlight,如果我发出警报,每个按钮都会触发它。 奇怪的部分? 调用数组的特定索引可以正常工作:

new FastButton(back[0], function(){
            $(back[0]).trigger('click');
        });

为了保持可靠性,我宁愿不这样做,所以导航可以在路上修改而不用担心。 非常感谢任何洞察力 - 我认为我一直在盯着一个错误,并且错过了一些简单的事情。

您似乎是关闭问题的受害者。 当你使用jQuery时,可能只是重写你的循环:

$.each(back,function(i,item){
    new FastButton(item, function(){
        $(item).trigger('click');
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM