jq 会执行多次怎么解决
$(function(){$(".aaa").click(function(){ssssss();});functionssssss(){$(".bbb").click(...
$(function(){
$(".aaa").click(function(){
ssssss ();
});
function ssssss (){
$(".bbb").click(function(){
alert("fff");
});
}
});
如上,如果我点了多次aaa,再点bbb时会弹出fff多次,怎么解决这种情况只弹一次?? 展开
$(".aaa").click(function(){
ssssss ();
});
function ssssss (){
$(".bbb").click(function(){
alert("fff");
});
}
});
如上,如果我点了多次aaa,再点bbb时会弹出fff多次,怎么解决这种情况只弹一次?? 展开
1个回答
展开全部
$(function () {
var binded = false;
$(".aaa").click(function aClick () {
// 产生问题的原因就是每次点击aaa都添加了一次事件绑定
// 所以解决办法就是只绑定一次
// 以下提供两个方案,只需二选一
// 方案1: 用一个变量记录绑定状态,确保只绑定一次
if (binded) {
binded = true;
ssssss();
}
// 方案2: 绑定一次之后就结束aaa上面的事件绑定,既点击aaa不再触发绑定
// ssssss();
// $(".aaa").off('click', aClick);
});
function ssssss() {
$(".bbb").click(function () {
alert("fff");
});
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询