0

我有一个.js大部分工作的文件,但是更改事件仅在页面加载时触发,而不是在选择更改时触发。

$(document).ready(function(){
    $("#dropdown").on("change keyup", colorizeSelect()).change();
});

function colorizeSelect(){
    if($("#dropdown").val() == ""){
        $("#dropdown").addClass("dropdown_placeholder");
    }
    else{
        $("#dropdown").removeClass("dropdown_placeholder");
    }
}

我是否遗漏了一些基本的东西,应该导致它在“#dropdown”更改时触发?#dropdown<select>对象的 ID。

4

2 回答 2

3

你有()这意味着现在执行它。您没有分配对它的引用。

$("#dropdown").on("change keyup", colorizeSelect()).change();
                                                ^^
                                               ERROR

需要是

$("#dropdown").on("change keyup", colorizeSelect).change(); 
于 2013-03-25T21:04:35.080 回答
1

我认为这里的罪魁祸首是colorizeSelect(),它会在那里执行它。因此,应该删除多余的括号。

因此,改变

$("#dropdown").on("change keyup", colorizeSelect()).change();

$("#dropdown").on("change keyup", colorizeSelect).change();
于 2013-03-25T21:06:00.617 回答