触发jquery中的change事件,奇怪的行为

时间:2011-06-06 17:49:57

标签: jquery events

我需要以编程方式触发更改事件。我通常可以这样做,但我发现了一个无法解释的场景,我希望你可以帮助我。我有这段代码:

jQuery(document).ready(function() {

    jQuery('.posts-list').hide();
    jQuery('.clinic').hide();

    jQuery('#category').change(function() {
        jQuery('.posts-list').hide();
        jQuery('#clinics-'+jQuery(this).val()).show().change();
    });

    jQuery('.posts-list').change(function() {
        jQuery('.clinic').hide();
        jQuery('#clinic-'+jQuery(this).val()).show();
    });

    jQuery('#category').change();
});

此代码的重要部分是倒数第二行,以及绑定到#category的change事件的函数。在该事件内触发更改事件实际上有效。但是在倒数第二行触发更改事件却没有。如果我在加载页面后首先将其放入控制台,那么它就可以了。

有人得到解释吗?

1 个答案:

答案 0 :(得分:2)

jQuery('#category').trigger('change');

您实际上想要触发事件,而不是运行该功能。如果这有帮助,请告诉我。