javascript - 如何用jquery优雅的给dom绑定监听事件?
巴扎黑
巴扎黑 2017-04-11 10:57:30
[JavaScript讨论组]

举个例子

$('.j_submitForm').on('click', function() {
    // XXX
});
$('.j_buyBtn').on('click', function() {
    // XXX
});
$('.j_callTopbar').on('click', function() {
    // XXX
});
$('.j_closeDialog').on('click', function() {
    // XXX
});
.......

当绑定事件多了之后就成这样了,不易于理解与维护,有什么优雅的方法去对dom进行事件绑定,便于管理,有没有事件绑定管理器之类的方案。
我也在寻找最佳方案,找到了及时更新

巴扎黑
巴扎黑

全部回复(2)
PHPz
$('.j_submitForm').on('click.myPluginA.a1', function() {
    // 1   .myPluginA.a1
});
 $('.j_submitForm').on('click.myPluginA.a2', function() {
    // 2   .myPluginA.a2
});
$('.j_buyBtn').on('click.myPluginB.b1', function() {
    // 3   .myPluginB.b1
});
 $('.j_buyBtn').on('click.myPluginB.b2', function() {
    // 4   .myPluginB.b2
});

$(document).off('.myPluginA'); // 解除 myPluginA 命名空间的绑定事件 (包括1,2)
$(document).off('.myPluginB.b1'); // 解除 myPluginB.b1 命名空间的绑定事件(只有3)
天蓬老师
$("body").on("click", ".j_submitForm", function(){

}).on("click", ".j_buyBtn", function(){

}).on("click", ".j_callTopbar", function(){

}).on("click", ".j_closeDialog", function(){

})

其实没什么办法, jq就这样, 很难维护, 重要的还是得模块化. 你要把全站的js都写一个文件肯定难维护

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号