为了账号安全,请及时绑定邮箱和手机立即绑定

jqueyr on()绑定多个动态元素的点击事件不同处理函数

jqueyr on()绑定多个动态元素的点击事件不同处理函数

精慕HU 2018-12-11 17:19:01
我目前所知道的方法如下:$(document).on('click','.attachment',function () {    console.log('attachment点击了')}).on('click','.amend',function () {    console.log('amend点击了')})但是看网上说on()可以绑定多个事件多个函数:$(document).on({     click:function(){ //事件1     ......    },    keyup:function() { //事件2       .......    },    keydown:function(){ //事件3     .......    }},'.select1','.select2','select3'); //元素1,2,3并不能,只能在最后的元素上绑定三个事件,这不是我想要的!我想要的是不同的元素都绑定点击事件处理的函数却不同的方法。有哪位大神知道麻烦告诉小弟一下,感激不尽
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

什么意思,不想写太多重复的$(document).on么?

如果是这样的话,可以把调用的function放在一个对象里面

 <div class='a aaaaaa aaaaaaa' style="width: 100px;height: 100px;background: #ccc"></div>

 <div class='b' style="width: 100px;height: 100px;background: #000"></div>

 <div class='c' style="width: 100px;height: 100px;background: #444"></div>

 

 <script>

 const clickFunc = {

     a: function() {

         console.log('aaaaaa');

     },

     b: function() {

         console.log('bbbbbb');

     },

     c: function() {

         console.log('cccccc');

     }

 };

 $(document).on('click', '.a, .b, .c', function(e) {

     clickFunc[e.target.classList[0]]();

 });


查看完整回答
反对 回复 2019-01-03
  • 1 回答
  • 0 关注
  • 601 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号