Javascript 如何在事件发生后覆盖jQuery函数?

Javascript 如何在事件发生后覆盖jQuery函数?,javascript,jquery,html,search-box,Javascript,Jquery,Html,Search Box,所以我有一个带有搜索框、复选标记和加载微调器的页面。当用户关注搜索框时,微调器淡入。用户打开搜索框,微调器淡出。我有一个功能在用户在搜索框中按enter键后切换复选标记,但是,我希望复选标记永远可见。现在,当用户按下enter键时,它会切换复选标记并很快消失,因为unfocus函数会自动调用 切换复选标记功能: $('#searchText').on('keypress', function (e) { if (e.which === 13) { var val = $(

所以我有一个带有搜索框、复选标记和加载微调器的页面。当用户关注搜索框时,微调器淡入。用户打开搜索框,微调器淡出。我有一个功能在用户在搜索框中按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;
    }
});
var searchPerformed = false;
$('#searchText').on('keypress', function (e) {
    if (e.which === 13) {
        searchPerformed = true;
        var val = $('#searchText').val();
        $('.circle-loader').toggleClass('load-complete');
        $('.checkmark').toggle();

        alert(val);
        return false;
    }
});
$(function () {
    $('#searchText').focusin(function () {
        $('#check').fadeIn();

    }).focusout(function () {
        if (!searchPerformed)
            $('#check').fadeOut();
    });
});
淡入淡出功能:

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

    }).focusout(function () {
        $('#check').fadeOut();
    });
});
当用户在搜索框中按enter键时,如何覆盖淡入淡出功能或重写该功能以停止

提前感谢。

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


我将使用一个布尔值来表示是否执行了搜索。请参见下面的示例。在不知道代码结构的情况下,我将其设置为全局,但可以将其更改为检查特定对象

切换复选标记功能:

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

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

        alert(val);
        return false;
    }
});
$(function () {
    $('#searchText').focusin(function () {
        $('#check').fadeIn();

    }).focusout(function () {
        if (!searchPerformed)
            $('#check').fadeOut();
    });
});
淡入淡出功能:

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

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

        alert(val);
        return false;
    }
});
$(function () {
    $('#searchText').focusin(function () {
        $('#check').fadeIn();

    }).focusout(function () {
        if (!searchPerformed)
            $('#check').fadeOut();
    });
});
固定

  $('#searchText').unbind("focusin");
  $('#searchText').unbind("focusout");
在切换复选标记功能中。 谢谢你的替代方法,大家以后会很方便的