JavaScript - 如何仅绑定而不执行事件处理程序回调函数?

时间:2014-10-23 16:25:57

标签: javascript

我有一个函数可以将click事件绑定到所有锚标签,这些锚标签的id包含在一个名为guids的数组中。

我遍历所有guid并尝试将displayDetails()函数绑定到click事件。我尝试过.click(function())和.bind(' click',function())但是没有一个正常工作。函数displayDetails()继续在bind中执行。

问题在于,当我运行页面时,每个guid都会调用displayDetails()。我不想每次都调用displayDetails()。我只想绑定它,而不是在循环中执行displayDetails()。

如何使displayDetails()绑定到click事件,并且在绑定发生时不在循环中调用?

 function bindLinks() {
        for (var idx = 0; idx < guids.length; idx++)
        {
            $("#" + guids[idx]).click(function (e) {
                displayDetails(guids[idx], orders[idx]);
            });
        }
    }
编辑:我将我的功能分成两个独立的功能,现在我从displayDetails()显示正确的弹出窗口,但现在根据固定索引多次调用该函数。我收到了多个警报,而我希望只调用一次该函数。

  function bindLink(idx) {
        $("#" + guids[idx]).click(function () {
            displayDetails(guids[idx], orders[idx]);
        });
    }

    function bindLinks() {
        for (var idx = 0; idx < guids.length; idx++)
        {
            bindLink(idx);
        }
    }

0 个答案:

没有答案