Javascript 为什么触发器('click')与$('test')相同;?

Javascript 为什么触发器('click')与$('test')相同;?,javascript,jquery,Javascript,Jquery,我是JS新手,基本上我正在尝试深入研究JS事件,更好地理解事件和对象 我想知道触发器'click'是否与触发器{type:'click'}相同 现在,我编写了以下函数来理解差异,并确认两者是否相同: <script> $(document).ready(function(){ var call_it = function() { setTimeout(function() { $('

我是JS新手,基本上我正在尝试深入研究JS事件,更好地理解事件和对象

我想知道触发器'click'是否与触发器{type:'click'}相同

现在,我编写了以下函数来理解差异,并确认两者是否相同:

<script>
    $(document).ready(function(){

        var call_it = function() {          
            setTimeout(function() {
                $('#test').trigger({
                    type : 'click' 
                });
            } , 1500 );
        }

        call_it();

        $('#test').on('click' , function(){
                console.log('button clicked');
        });
    });
</script>
与:

点击仍然被触发,但我仍然感到困惑,它们是如何和为什么是一样的??它们内部如何相同

我知道这是个棘手的问题。

它们都是一样的

$('#test').trigger({
    type : 'click' 
});
这是通过事件对象传递数据的另一种方法。您可以通过此方法向事件传递任意数据

$('#test').trigger({
    type : 'click',
    param1 : "foo",
    param2 : "bar" 
});
它们都是一样的

$('#test').trigger({
    type : 'click' 
});
这是通过事件对象传递数据的另一种方法。您可以通过此方法向事件传递任意数据

$('#test').trigger({
    type : 'click',
    param1 : "foo",
    param2 : "bar" 
});

他们几乎一样,是的

提供事件类型(如单击)后,将从中创建一个:

v2.1.4:

.trigger还直接接受此类事件对象:

$().trigger(jQuery.Event('click'))
而且,jQuery.Event'click'和{type:'click'}之间的区别仅仅是额外的属性,比如timestamp,它是


他们几乎一样,是的

提供事件类型(如单击)后,将从中创建一个:

v2.1.4:

.trigger还直接接受此类事件对象:

$().trigger(jQuery.Event('click'))
而且,jQuery.Event'click'和{type:'click'}之间的区别仅仅是额外的属性,比如timestamp,它是


如果您对细节感兴趣,那么您可以始终浏览未统一的源文件。@Taplar,我希望我有这样的JS技能来做到这一点:D和您是对的,这正是我感兴趣的,但到目前为止,我还不能这样做:如果您对细节感兴趣,那么您可以始终浏览未统一的源文件。@Taplar,我希望我有这样的JS技能来做到这一点:D和你的权利,这正是我感兴趣的,但不,到目前为止,我还没有这样做:Thaks代表你的答案:DThaks代表你的答案:D
trigger: function( event, data, elem, onlyHandlers ) {
      // ...

      // Caller can pass in a jQuery.Event object, Object, or just an event type string
      event = event[ jQuery.expando ] ?
          event :
          new jQuery.Event( type, typeof event === "object" && event );

      // ..
}
$().trigger(jQuery.Event('click'))
var i, // ...
    // ...
    type = hasOwn.call( event, "type" ) ? event.type : event,
    // ...