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

时间:2010-02-05 02:12:06

标签: jquery

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

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

任何想法为什么?

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

2 个答案:

答案 0 :(得分:11)

你的语法错了。

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

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

答案 1 :(得分:2)

您正在尝试将CalculateHours的结果绑定到change事件。试试这个。

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