关于jquery click事件重复叠加的问题

最近手写了一个三级下拉菜单,是通过jquery控制的,点击sliderdown,sliderup 发现出现了一个问题,就是三级菜单会重复触发多次,也就是当一级菜单点击多少次,三级菜单点击触发时,会发现重复触发很多次事件。我最初以为是冒泡的事件,加上了stoppropagation发现还是会多次触发我的click事件;原来是我把控制三级菜单的事件放到了控制二级菜单里面,然后每次触发 都会叠加,可以通过$('').unbind().click的方法来解决,也可以通过把函数分开的方式解决。类似与以下

$(function(){

$('.btn').click(function() {

console.log('1231');

$('.btn2').click(function() {

console.log("看我重复多少次");

})

})

})

//发现没点一次btn其btn2的事件就会触发一遍。

处理办法

$(function(){

$('.btn').click(function() {

console.log('1231');

$('.btn2').unbind().click(function() {

console.log("看我重复多少次");

})

})

})

或者分开写该事件