javascript - 请教一下各位,像这段回车事件,怎样让它只执行一次呢
PHP中文网
PHP中文网 2017-04-11 13:24:10
0
4
397

请教一下各位,像这段回车事件,怎样让它只执行一次呢,按照这样写,每点击一次enter,就会增加一个p,怎么让它已经有了p的时候这段就不生效呢?

$(this).children("input").keydown(function(){
    if(event.keyCode == 13){
        $(".select-no").hide();
        $(".select-result dl").append("<dd class='selected' id='selectA'><a href='#'></a></dd>");
        $("#selectA a").html($(this).val());
    }
})
PHP中文网
PHP中文网

认证0级讲师

모든 응답(4)
阿神
$(this).children("input").keydown(function() {
                if (event.keyCode == 13) {
                    if($(".select-result dl").length > 0)//这里判断是否已经存在
                        return;
                    else{
                        $(".select-no").hide();
                        $(".select-result dl").append("<dd class='selected' id='selectA'><a href='#'></a></dd>");
                        $("#selectA a").html($(this).val());
                    }
                }
            })

增加之前判断一下是否存在,不存在就增加,否则就直接return

Ty80
function runOnce(fn, context) { //控制让函数只触发一次
    return function () {
        try {
            fn.apply(context || this, arguments);
        }
        catch (e) {
            console.error(e);//一般可以注释掉这行
        }
        finally {
            fn = null;
        }
    }
}
小葫芦
$('body').on('keydown', function(){
    if(event.keyCode == 13){ 
        console.log('enter');
        $('body').off('keydown')
    }
})
黄舟
$(this).children("input").keydown(function(){
    if(event.keyCode == 13){
        //判断是否存在元素,存在则阻止代码继续执行
        if($('#selectA').length){
            return;
        }
        $(".select-no").hide();
        $(".select-result dl").append("<dd class='selected' id='selectA'><a href='#'></a></dd>");
        $("#selectA a").html($(this).val());
    }
})
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!