给Event handler传递动态参数

   有段时间没写些东西了......参加工作大半年 感觉是收获不小啊 新年以致

   在这里我想真心的祝福所有园友 所有有梦想的人 新的一年技术更牛X 身体棒棒 职业发展更上一层

   好了 回过来讲主要内容.

   在jquery cook book里看到一篇给event handler传递动态参数的文章 感觉挺实用的 跟大家分享下

   直接拿例子吧...

 1 <body>
 2     <div id="demo"></div>
 3     <button id="btn" >trigger it</button>
 4     <script type="text/javascript">
 5         (function($) {
 6             //demo1
 7             $("#demo").bind("demo-trigger", function(e, args) {
 8                 var info = [];
 9                 //对应的我们从args参数中获取数据
10                 for(var prop in args) {
11                     info.push(prop + ":" + args[prop]);
12                 }
13                 this.innerHTML = info.join(';');
14             });
15             $('#btn').click(function() {
16                 // 我们把数据作为一个参数和我们关心的事件名一起传入trigger方法
17                 $('#demo').trigger('demo-trigger', {
18                     name:'Andrew',
19                     age: '23',
20                     job: 'FrontEnd Dev'
21                 });
22             });
23 
24             /**demo2
25             $("#demo").bind("demo-trigger", function(e) {
26                 var info = [];
27                 //我们通过传入的e.extra来获取我们传入的数据
28                 for(var prop in e.extra) {
29                     info.push(prop + ":" + e.extra[prop]);
30                 }
31                 //展现出来
32                 this.innerHTML = info.join(';');
33             });
34             $('#btn').click(function() {
35                 //这个用法很有意思 我们new一个jQuery Event对象 参数为我们关心的事件名
36                 var event = new jQuery.Event("demo-trigger");
37                 //给这个event附加一个属性  包含我们的数据
38                 event.extra = {
39                     name:'Andrew',
40                     age :'23',
41                     job :'FrontEnd Dev'
42                 };
43                 //最后把event传入trigger方法  ...看上面的$('#demo').....
44                 $('#demo').trigger(event);
45             });**/
46         })(jQuery);
47     </script>
48 </body>
posted @ 2011-01-03 20:43  MrPrime  阅读(1044)  评论(1编辑  收藏  举报