Jquery - 在页面加载时更改事件触发

Mal*_*olm 3 jquery

我在HTML页面上选择控件并使用Jquery设置更改事件.

但是当我尝试更改选择控件中的值时,事件将在页面加载时触发,并且不会触发.

有什么想法吗?

$(function() {
    $('select[id^=Start], select[id^=Finish], select[id^=Lunch]').change(CalculateHours($(this)));
});
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 11

你的语法错了.

通过编写change(CalculateHours($(this)),您正在调用CalculateHours函数并将其返回值传递给jQuery的change方法,就好像它是一个函数一样.如果函数返回另一个函数并且想要将返回的函数添加为事件处理程序,则只能编写此函数.

你需要写 .change(function() { CalculateHours($(this)); })