jQuery中的on()方法在实践中遇到的问题

来源:互联网 发布:凡科微传单 软件下载 编辑:程序博客网 时间:2024/06/02 06:47

今天才晓得,原来jQuery里面的on()方法,给元素绑定事件的时候,绑定多少次,该事件被触发的时候,就执行多少次。
错误代码示例如下:

        let newQFlag=true;        const btnStr = '<button class="btn btn-default btn-xs newBtn" type="button">自建问题</button>';        $qs.on('select2:open', () => {            if (newQFlag) {                $('.select2-search__field').css('width', '240px');                $('.select2-search.select2-search--dropdown').append(btnStr);                newQFlag = false;            }            $('.newBtn').on('click', () => {                const inputVal = $('.select2-search__field').val();                if (!inputVal) {                    alertMessage('自建问题不能为空!');                } else {                    $.ajax({                        url: 'knowledge/editByA/checkQuestion',                        type: 'POST',                        data: cleanObject({ literal: inputVal }),                        success: (data) => {                            const nmsg = data.msg;                            if (!nmsg) {                                const $display = $('.select2-selection__rendered');                                $display.text(inputVal);                                $display.attr('title', inputVal);                                alertMessage('自建问题合格!', true);                            } else {                                if (nmsg.status === 1) {                                    alertMessage('该问题已经存在,将前往审核页面进行审核!');                                    location.href = `${ctx}/knowledge/review/index?from=update&id=${nmsg.question.id}`;                                } else if (nmsg.status === 8) {                                    alertMessage('该问题已经存在,将前往编辑页面进行编辑!');                                    location.href = `${ctx}/knowledge/editByA/update?pairId=${nmsg.id}`;                                }                            }                        }                    });                }            });        });

当我知道这个原理之后,我之间吧click()绑定的内容放到了if里面,让这个on也只给这个元素绑定一次。这样很好理解。
可是,后来有个大神,这个几下给我改的,我就看不明白了,代码如下:
这里写图片描述

若有人知道,烦请回复哈哈!

0 0
原创粉丝点击