是`$(document).on(" method1",function(event,param)``和往常一样的函数method1(){}?

时间:2015-04-16 00:50:05

标签: javascript jquery function eventtrigger

在file1.js上,我有这段代码:

$(document).trigger("method1",param);

在file2.js上,我有这段代码:

代码块1:

 $(document).on("method1",function(event,param){
    //do something here
    });

代码块2:

  function method1(){
    // do something here also
    }

这些是我的疑问:

1)你能解释一下这些代码块的区别吗?

2)将从file1.js触发哪些代码块?

2 个答案:

答案 0 :(得分:2)

  

你能解释一下这些代码块的区别吗?

第一个将事件处理程序绑定到自定义事件method1。即将执行处理程序以响应事件method1的发生。

第二个创建一个名为method1的函数。该函数可以通过method1()明确调用。

  

将从file1.js触发哪些代码块?

第一个。代码块2中的函数与事件无关。

答案 1 :(得分:1)

$obj.trigger(eventName)启动 jQuery事件obj.method()启动方法func()启动功能。您无法使用trigger调用方法。所以这些是三个define-invoke对:

function func() {
  console.log("function");
}
func();


a = {
  method: function() {
    console.log("method");
  }
};
a.method();


$(document).on('customEvent', function(evt) {
  console.log("event");
});
$(document).trigger('customEvent');