javascript - 如何在事件发生后重写 jQuery 函数?

标签 javascript jquery html search-box

所以我有一个带有搜索框、复选标记和加载微调器的页面。当用户聚焦于搜索框时,微调器会淡入。用户不再聚焦于搜索框时,微调器会淡出。我有一个功能可以在用户在搜索框中按 Enter 键后切换复选标记,但是,我希望复选标记永远保持可见。截至目前,当用户按下 Enter 键时,它会切换复选标记并很快淡出,因为会自动调用 unfocus 函数。

切换复选标记功能:

$('#searchText').on('keypress', function (e) {
    if (e.which === 13) {
        var val = $('#searchText').val();
        $('.circle-loader').toggleClass('load-complete');
        $('.checkmark').toggle();

        alert(val);
        return false;
    }
});

淡入淡出功能:

$(function () {
    $('#searchText').focusin(function () {
        $('#check').fadeIn();

    }).focusout(function () {
        $('#check').fadeOut();
    });
});

如何覆盖淡入和淡出功能(或者重写此功能)以在用户在搜索框中按 Enter 时停止?

提前致谢。

最佳答案

使用 jQuery .stop 方法。当对元素调用 .stop() 时,当前正在运行的动画(如果有)将立即停止。例如,如果在调用 .stop() 时使用 .slideUp() 隐藏某个元素,则该元素现在仍将显示,但将是一个分数其先前的高度。不调用回调函数。

https://api.jquery.com/stop/

关于javascript - 如何在事件发生后重写 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44611619/

相关文章:

javascript - 过滤管道总是记录未定义的

javascript - formatDate JavaScript 函数仅适用于 Chrome

javascript - GWT JSNI 找不到最近创建的元素

javascript - 将鼠标置于 Canvas 上移动图像的中心

javascript - Bootstrap 模态不会成为切换时的事件元素,背景滚动但模态不滚动

html - 网站背景干扰网站内容

javascript - 允许用户选择颜色

javascript - IE 8 调试器不会在 TypeError 上停止

javascript - JS 声称 656 < 7 为真

body 高度为 100% 的 jQuery 滚动问题