Jquery中on绑定事件 点击一次 执行屡次 的解决办法

举个例子,在同一个页面有下拉选择框对象

<select class="mySelect">
<option value="user">按用户分析</option>
<option value="dept">按单位分析</option>
<option value="role">按角色分析</option>
</select>事件

当选择用户分析时,一组用户查询条件展现出来,queryUser查询按钮显示,并绑定查询方法countByUser(),$("#queryUser").on("click",countByUser);io

当选择单位分析时,一组单位查询条件展现出来,queryDept查询按钮显示,并绑定查询方法countByDept(),$("#queryDept").on("click",countByDept);class

当选择角色分析时,一组角色查询条件展现出来,queryRole查询按钮显示,并绑定查询方法countByRole(),$("#queryRole").on("click",countByRole);cli

先选择按用户分析,此时queryUser按钮绑定了一次click事件,再选择按单位分析,再选择按用户分析,此时queryUser按钮又绑定了一次click事件,点击查询按钮会调用两次countByUser()方法。select

解决办法是在绑定click以前先解绑方法,或者调用完方法以后解绑。方法

$("#queryUser").off("click"); //若是该对象存在其余click事件先解绑事件查询

$("#queryUser").on("click",countByUser); //绑定事件query

相关文章
相关标签/搜索