簡體   English   中英

為什么事件“淡入淡出”在 JS 中運行兩次?

[英]Why does the event 'fadein' run twice in JS?

當我按 esc 鍵或任何其他鍵使彈出窗口消失時沒有問題(例如event.keycode == 37 or else )。 但是,我按回車鍵,彈出窗口消失,彈出窗口再次彈出。 問題是什么?

    $(related-popup-open-button-id).on('click', fadeIn);

    functionfadeIn () {
        $(related-popup-id).fadeIn(1000);
    };

    $(related-popup-close-button-id).on('click', fadeOut);

    function fadeOut () {
        $(related-popup-id).fadeOut(1000);
    };

    $(document).on('keydown', push);

    function push(event) {
        if(event.keycode == 13) {
            $(related-popup-id).fadeOut(1000);
        }
    };

抱歉,我在下面添加了 jsfiddle 鏈接。

提琴手

只需在打開彈出窗口時更改焦點即可。

$('#popup-open-btn').on('click', fadeShow);

function fadeShow () {

    $('#popup').fadeIn(500);
    $("#popup-close-btn").focus();
};

$('#popup-close-btn').on('click', fadeClose);

function fadeClose () {
    $('#popup').fadeOut(500);
};

$(document).on('keydown', push);

function push(event) {
    if(event.which === 13) {
        $('#popup').fadeOut(500);
    }
};

https://jsfiddle.net/b8yhtkxz/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM