jquery下为Event handler传递动态参数的代码

  实例代码

  

复制代码 代码如下:

  <body>

  <div id="demo"></div>

  <button id="btn" >trigger it</button>

  <script type="text/javascript">

  (function($) {

  //demo1

  $("#demo").bind("demo-trigger", function(e, args) {

  var info = [];

  //对应的我们从args参数中获取数据

  for(var prop in args) {

  info.push(prop + ":" + args[prop]);

  }

  this.innerHTML = info.join(';');

  });

  $('#btn').click(function() {

  // 我们把数据作为一个参数和我们关心的事件名一起传入trigger方法

  $('#demo').trigger('demo-trigger', {

  name:'Andrew',

  age: '23',

  job: 'FrontEnd Dev'

  });

  });

  /**demo2

  $("#demo").bind("demo-trigger", function(e) {

  var info = [];

  //我们通过传入的e.extra来获取我们传入的数据

  for(var prop in e.extra) {

  info.push(prop + ":" + e.extra[prop]);

  }

  //展现出来

  this.innerHTML = info.join(';');

  });

  $('#btn').click(function() {

  //这个用法很有意思 我们new一个jQuery Event对象 参数为我们关心的事件名

  var event = new jQuery.Event("demo-trigger");

  //给这个event附加一个属性 包含我们的数据

  event.extra = {

  name:'Andrew',

  age :'23',

  job :'FrontEnd Dev'

  };

  //最后把event传入trigger方法 ...看上面的$('#demo').....

  $('#demo').trigger(event);

  });**/

  })(jQuery);

  </script>

  </body>