在Javascript中意外触发更改事件

时间:2015-03-18 20:43:26

标签: javascript events javascript-events addeventlistener

我正在使用url参数告诉后端如何在页面上对多个列表进行排序。基于每个列表的选择块(sortBy,orderBy)设置参数。在页面加载时,我设置选择以匹配参数。

function setSortOptions()
{
    var select = document.getElementsByTagName("select"),
        qParams = getParameters();

    for (var i=0, l = select.length; i < l; i++)
    {
        var self = select[i],
            name = self.name,
            value = qParams[name],
            opt = self.options[value];

        if(opt) opt.selected = true;

        select[i].addEventListener("change", SortMyLists(event), false);
    }
}

使用我当前的函数,事件侦听器立即触发SortMyLists。当我在分配事件监听器之前更改所选选项时,为什么会这样?

1 个答案:

答案 0 :(得分:0)

不要执行该功能。只需传递一个引用:

select[i].addEventListener("change", SortMyLists`, false);