有关js事件的绑定和解绑
2017-11-07 00:00
274 查看
摘要: js change bind unbind
事出:做了一个省市县三级联动。但是在请求三级的时候,都是请求多次;
源代码:
解决:解决改问题,只需要在给事物绑定事件前解绑所有的事件即可
代码:
结束
事出:做了一个省市县三级联动。但是在请求三级的时候,都是请求多次;
源代码:
function initCities(pro) { var prCode = ""; if(pro==undefined){ prCode =$("#provinces").val(); }else{ prCode = pro; } $('#cities').empty(); $('#areas').empty(); $('#cities').append($("<option selected='selected' value=''>全部</option><br>")); $.ajax({ type : "POST", url : ctx + "code/getCitiesByProCode?prCode=" + prCode, success : function(data) { $.each(data.data, function(i, it) { $("<option value='" + it.cityCode + "'>" + it.cityName + "</option><br>").appendTo($('#cities')); }); $("#cities").val( $("#_cities").val()); //注意就是这里的change事件,每次请求都绑定一个change事件,多次请求后 //该事物绑定了多个change时间,因此会一次改变触发多个initAreas()方法 $('#cities').change(function(){ initAreas(); }); } }); }
解决:解决改问题,只需要在给事物绑定事件前解绑所有的事件即可
代码:
function initCities(pro) { var prCode = ""; if(pro==undefined){ prCode =$("#provinces").val(); }else{ prCode = pro; } $('#cities').empty(); $('#areas').empty(); $('#cities').append($("<option selected='selected' value=''>全部</option><br>")); $.ajax({ type : "POST", url : ctx + "code/getCitiesByProCode?prCode=" + prCode, success : function(data) { $.each(data.data, function(i, it) { $("<option value='" + it.cityCode + "'>" + it.cityName + "</option><br>").appendTo($('#cities')); }); $("#cities").val( $("#_cities").val()); //这里的操作是在给事物绑定事件之前,先解绑该事物绑定的所有事件,然后在给事物重新绑定一 //个事件,这样就避免出现重复请求的情况发生 $('#cities').unbind().change(function(){ initAreas(); }); } }); }
结束
相关文章推荐
- 有关js改变class或remove掉class之后,原class绑定事件依旧存在的问题
- js绑定事件和解绑事件
- js绑定事件和解绑事件
- 7-20 jquery遍历节点,bootstrap模态框绑定事件和解绑,mock.js,model.urlroot,id,打基础
- 原生js绑定和解绑事件,兼容IE,FF,chrome
- 原生js绑定和解除事件
- js中用for循环事件绑定的小问题
- js事件绑定的方法
- js(jquery)绑定点击事件
- JS事件绑定
- js和jquery批量绑定事件传参数一(新猪猪原创)
- Cpage.js给组件绑定事件
- JS事件绑定、冒泡/捕获、常见的兼容处理、委托、阻止默认行为和冒泡
- js 事件绑定
- JS基础学习四:绑定事件
- js中事件绑定3种方法以及事件委托
- 理解JS绑定事件
- [jquery]高级篇--js绑定事件
- 牛腩购物 8 整合用户留言 动软生成器 ,.NET在后置代码中输入JS提示语句(背景不会变白),repeater 循环的时候事件判断,repeater 隔行 奇数行,item列,隐藏区块 Panel 的使用,前台绑定代码的时候使用函数