Javascript Jquery在按键时停止功能
我是Jquery的新手,我有以下功能:Javascript Jquery在按键时停止功能,javascript,jquery,Javascript,Jquery,我是Jquery的新手,我有以下功能: $(document).ready(function() { $('*').keypress(function(e) { if(e.keyCode == 13) { $("[id^='td_']").click(function() { $(this).hide(); }); }
$(document).ready(function()
{
$('*').keypress(function(e)
{
if(e.keyCode == 13)
{
$("[id^='td_']").click(function()
{
$(this).hide();
});
}
else
{
return false ;
}
});
});
如果按enter键,我可以点击一些文本来隐藏他。
问题是,如果未按enter键,我的函数将继续运行事件。
返回false不执行任何操作。使用
事件.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 ;
}
});
});
看起来您希望按enter键,然后可以单击进行隐藏,然后在第一次按enter键之前,单击不应再次运行。如果是这种情况,您可以使用:
.one()
只允许调用一次处理程序,然后将其删除。这完全是错误的。当按下enter键时,不能将click事件处理程序绑定到keypress事件处理程序中?不太清楚您想做什么,但是当按下enter键时会设置一个标志,并在click事件处理程序中检查该标志,具体取决于您在此处实际执行的操作?每次按下enter键时,您都在创建一个新的click事件侦听器。不工作,如果未按enter键,我可以继续隐藏事件停止工作,如果未按enter键,我可以继续隐藏事件
$("[id^='td_']").one(function()
{
$(this).hide();
});