如何为.btn-star与.btn-current两类按钮绑定同一个点击事件函数?
没问题,这事儿其实很简单,咱们直接把两个按钮的选择器合并,绑定同一个处理函数就搞定啦!另外我注意到你原始代码里有语法小问题(缺了闭合的括号和分号),我也一起帮你修正了~
优化后的代码方案
方式一:先定义共用函数(更利于维护)
把重复的逻辑抽成单独的函数,再绑定给两个按钮,后续修改逻辑只需要改这一处就行:
$(document).ready(() => { // 定义共用的点击处理函数 const handleButtonClick = function() { // 这里写你要执行的所有逻辑 console.log('按钮被点击啦!当前点击的按钮类名:', $(this).attr('class')); }; // 同时给两个按钮绑定同一个点击事件 $(document).on('click', '.btn-star, .btn-current', handleButtonClick); });
方式二:直接在事件绑定里写逻辑(适合简单场景)
如果逻辑比较简短,也可以直接把代码写在事件回调里,省去单独定义函数的步骤:
$(document).ready(() => { $(document).on('click', '.btn-star, .btn-current', function() { // 这里写你的共用逻辑 // Do stuff alert('两个按钮都会触发这个提示!'); }); });
关键说明
- jQuery支持用逗号分隔多个选择器,这样就能一次性匹配所有符合条件的元素
- 用
$(this)可以在函数里区分当前点击的是哪个按钮,方便做针对性的小调整 - 一定要注意代码的语法完整性,原始代码里缺了闭合的
)和},运行时会报错哦
内容的提问来源于stack exchange,提问作者sreepurna
相关产品推荐
相关产品推荐

