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

请教一下各位,像这段回车事件,怎样让它只执行一次呢,按照这样写,每点击一次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级讲师

répondre à tous(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());
    }
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!