[jQuery]前端响应思路,以及jQuery的on和off
今天测试提出在前端有个地方有个buttom事件没有绑定上的问题。做一个简单的回顾。
测试之前我的设计思路是:
前端先给服务器发请求,请求成功则按钮绑定事件success,请求失败或请求结果为空数组则绑定事件default。
测试遇到的问题是,服务器响应事件很长,则刚刚进入页面时,网页还在等待系统相应,此时点击按钮,不能触发任何一个事件。
解决思路是:
前端默认给buttom绑定事件default,再给服务器发请求,请求成功则取消绑定事件default,重新给buttom绑定事件success。
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
此时涉及到如何给一个元素解除绑定事件。
猫猫给我提供的思路是unbind(),但bind()和unbind()方法在jQuery 3.0都已经被弃用。
继续查发现是使用off()方法。jQuery1.7以后均可放心使用。
$("div").off(); // 这个是解除了div身上的所有事件 $("div").off("click"); // 这个是解除了div身上的点击事件