按键时Jquery停止功能

时间:2014-04-18 14:40:14

标签: javascript jquery

我是Jquery的新手,我有这个功能:

$(document).ready(function()
{
    $('*').keypress(function(e) 
    {   
        if(e.keyCode == 13) 
        { 
            $("[id^='td_']").click(function()
            {
                $(this).hide();
            });
        }
        else
        {
            return false ;
        }
    }); 
});

如果按下输入,我可以点击某些文字隐藏他。 问题是如果没有按下输入,我的函数将继续运行事件。 return false什么都不做。

2 个答案:

答案 0 :(得分:0)

使用event.preventDefault();来避免此行为

$(document).ready(function()
{
    $('*').keypress(function(e) 
    {   
        if(e.keyCode == 13) 
        { 
            e.preventDefault();// this will block further keypress events
            $("[id^='td_']").click(function()
            {
                $(this).hide();
            });
        }
        else
        {
            return false ;
        }
    }); 
});

答案 1 :(得分:0)

看起来你想要按Enter键,然后可以点击进行隐藏,然后点击不应该再次运行,直到先按下回车键。如果是这种情况,您可以使用.one()

$("[id^='td_']").one(function()
{
    $(this).hide();
});

.one()只允许调用一次处理程序,然后将其删除。