jq 会执行多次怎么解决

$(function(){$(".aaa").click(function(){ssssss();});functionssssss(){$(".bbb").click(... $(function(){
$(".aaa").click(function(){
ssssss ();
});
function ssssss (){
$(".bbb").click(function(){
alert("fff");
});
}
});

如上,如果我点了多次aaa,再点bbb时会弹出fff多次,怎么解决这种情况只弹一次??
展开
 我来答
ispiders
2017-09-28 · TA获得超过1241个赞
知道小有建树答主
回答量:517
采纳率:80%
帮助的人:207万
展开全部
$(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");
        });
    }
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式