我有一个函数可以将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);
}
}