代码之家  ›  专栏  ›  技术社区  ›  Notaras

jQuery:如果对一类项调用.change(),会调用多少次?

  •  0
  • Notaras  · 技术社区  · 11 年前

    我现在有一个精神障碍,正在问一个愚蠢的问题。假设我有这个:

    HTML格式

    <input type="text" class="x"/>
    <input type="text" class="x"/>
    <input type="text" class="x"/>
    

    jQuery

    $(document).ready(function () {
         $(".x").change(function (e) {
            //functionality
         });
    
        $(".x").trigger("change");
    });
    

    更改事件功能将被触发多少次?它会被触发3次吗?每个输入一个?还是只有一次?

    1 回复  |  直到 11 年前
        1
  •  2
  •   jfriend00    11 年前

    对于 .x 选择器。


    在jQuery中,如下所示:

    $(".x").trigger("change");
    

    通过获取与 .x文件 选择器,然后调用 .trigger() 对于每个单独的元件。虽然没有办法这样编码,但您可以这样逻辑地思考:

    $(".x").each(function() {
        $(this).trigger("change");
    });
    

    事实上,如果您查看 trigger 方法,您可以看到:

    trigger: function( type, data ) {
        return this.each(function() {
            jQuery.event.trigger( type, data, this );
        });
    },
    

    因此,您可以看到它只是在jQuery集合上循环,从而触发集合中每个对象的事件。