js tab切换绑定事件

jquery,tab切换几个不同的页面,每个页面上的元素有些是相同的,有些是不同的,切换到某个页面时,其他页面display:none
现在的问题是,每个页面的元素都有一些相同或不同的绑定事件。
不想同时绑定所有页面的事件,那样代码会很乱。
每个页面分别绑定的话,不想每次切换都移除事件再绑定事件,感觉这样操作有点多。
求问还有什么更好的思路吗?
(因为要兼容ie8,所以这里只考虑jq)

阅读 5.5k
3 个回答

切换的时候检查要显示的页面是否已经绑定过
如果未绑定,那么就执行绑定,并做标记(.data或者.attr之类的)

你可以根据这些页面共有的class来获取当前点击的页面的id

$(".commonClass").on("click",function(){
    var id ="'#"+$(this).attr("id")+"'";
    //默认全部页面display:none
    $(id).CSS({display:"block"});
})

使用事件代理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题