jQuery更改事件只在页面加载时触发?

时间:2013-03-25 21:02:38

标签: javascript jquery html

我有一个.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。

2 个答案:

答案 0 :(得分:3)

你有(),这意味着现在就执行它。您没有为其分配引用。

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

需要

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

答案 1 :(得分:1)

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

因此,改变

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

$("#dropdown").on("change keyup", colorizeSelect).change();
相关问题