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> |