JQuery允许函数调用但使用enter键阻止回发

时间:2014-09-18 13:40:56

标签: jquery function postback keyup

在ASP.Net应用程序中,我在Web表单上有一个文本框控件,用户可以在其中输入一些过滤条件,旁边有一个按钮,单击该按钮时,将使用Ajax调用执行搜索。转向另一个控件。

我想这样做,如果文本框具有焦点,并且用户点击返回/回车键,则搜索的执行方式与单击搜索按钮的方式相同。目前整个表格都会被发回。

我使用下面的jquery来阻止回发,但如果我包含第二个块,它永远不会被击中......

$(window).keyup(function (event)
{
    if (event.keyCode == 13)
    {
        event.preventDefault();
        return false;
    }
});

$("#SearchTextBox").keyup(function (event)
{
    if (event.keyCode == 13)
    {
        $.DoFilterSearch();
    }
});

我认为这与DOM层次结构有关,但对它确实知之甚少。

基本上,我想知道如何为给定的控件按下输入按钮,如果在其他任何地方按下,则忽略(在回发方面)

2 个答案:

答案 0 :(得分:2)

此代码对我有用:

fo:retrieve-marker

答案 1 :(得分:0)

使用event.stopPropagation()

$("#SearchTextBox").keyup(function (event)
{
    event.stopPropagation();
    if (event.keyCode == 13)
    {
        $.DoFilterSearch();
    }
});