为了账号安全,请及时绑定邮箱和手机立即绑定

这里的DOM包裹后的元素,如果一直点击会一直增加!@

请问这个问题如何解决?

正在回答

6 回答

很简单,把on()改成one(),只执行一次就解绑。

3 回复 有任何疑惑可以回复我~
#1

我是上帝 提问者

非常感谢!
2016-12-08 回复 有任何疑惑可以回复我~

或者判断:p里面第一个子节点是object就return false,文本节点就执行。

0 回复 有任何疑惑可以回复我~

<script type="text/javascript">

    $(".aaron1").on('click', function() {

        //给所有p元素,增加内部包裹父容器div

        if($('p').html() == "p元素"){

            $('p').wrapInner('<div></div>');

        }else{

            return;

        }

    })

    </script>

以上代码供参考,可以加一个判断,如果p标签内部是“p元素”,那么久直接返回,不做操作。已经经过证实。

1 回复 有任何疑惑可以回复我~

可以把on改成one绑定点击事件啊

2 回复 有任何疑惑可以回复我~

我也发现了这个问题。同求解


0 回复 有任何疑惑可以回复我~

$(".aaron2").on('click', function() {

        //wrapInner接受一个回调函数

        //每一次遍历this都指向了合集中每一个a元素

        if($("#123").length==0)

        $('a').wrapInner(function() {

            return '<div id="123"></div>'

        })

    })

..好吧 我也是菜鸡=。=

0 回复 有任何疑惑可以回复我~
#1

清水3201892

$(".aaron2").on('click', function() { //wrapInner接受一个回调函数 //每一次遍历this都指向了合集中每一个a元素 $('a').wrapInner(function() { if($("#123").length==0) return; '<div id="123"></div>' }) }) ..好吧 我也是小白 ;)
2016-08-11 回复 有任何疑惑可以回复我~
#2

清水3201892 回复 清水3201892

上面错了 应该是 $(".aaron2").on('click', function() { //wrapInner接受一个回调函数 //每一次遍历this都指向了合集中每一个a元素 $('a').wrapInner(function() { if($("#123").length) return; '<div id="123"></div>' }) })
2016-08-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这里的DOM包裹后的元素,如果一直点击会一直增加!@

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信