在jquery中触发更改事件,奇怪的行为

在jquery中触发更改事件,奇怪的行为,jquery,events,Jquery,Events,我需要以编程方式触发更改事件。我通常可以这样做,但我发现了一个无法解释的情况,希望你能帮助我。我有以下代码: jQuery(document).ready(function() { jQuery('.posts-list').hide(); jQuery('.clinic').hide(); jQuery('#category').change(function() { jQuery('.posts-list').hide(); jQu

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

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的更改事件的函数。在该事件中触发变更事件实际上是有效的。但从第二行到最后一行的更改事件的触发不起作用。但是,如果我在加载页面后的第一件事就是将其放入控制台,它就会工作

有人得到解释吗

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

实际上,您希望触发事件,而不是运行函数。如果有帮助,请告诉我。

这很有效!触发器('change')与简单的.change()有什么区别,你知道吗?我确实看到文档让我们相信它们是一样的。。。但我从未有过这样的经历,这很奇怪。文档似乎暗示它只是一个别名。可能是因为依赖事件,.post列表和#category都有更改事件。