Javascript 如何阻止.focusout()多次触发?
下面是我想做的一个简单的再创造:Javascript 如何阻止.focusout()多次触发?,javascript,jquery,html,Javascript,Jquery,Html,下面是我想做的一个简单的再创造: $('body')。在('focusout','input',function()上{ 警报(“测试”); }); 当您将焦点从中调出时,它运行正常,但是,如果您将焦点从一个中直接调出另一个,则会创建一个循环。我做错了什么?谢谢 希望这有帮助。。。我使用JQuery $(“”{ 键入:“数字”, 最小值:“0” }).addClass(“someclass”).appendTo($(“#someid”); $(document).on(“focusout”
$('body')。在('focusout','input',function()上{
警报(“测试”);
});
当您将焦点从
中调出时,它运行正常,但是,如果您将焦点从一个
中直接调出另一个
,则会创建一个循环。我做错了什么?谢谢 希望这有帮助。。。我使用JQuery
$(“”{
键入:“数字”,
最小值:“0”
}).addClass(“someclass”).appendTo($(“#someid”);
$(document).on(“focusout”,“.someclass”,function()){
控制台日志(“警报”);
});代码>
警报
焦点混乱。如果您不使用警报
(或其他旧的弃用功能确认
,提示
,等等;例如,20世纪90年代风格的“让世界停止”功能),您的代码就可以了:
$('body')。在('focusout','input',function()上{
console.log('test');
});代码>
欢迎使用堆栈溢出!问题的全部内容必须在问题中,而不仅仅是链接。链接会腐烂,使得问题及其答案对未来的人们来说毫无用处,人们不应该非得离开网站去帮助你。提出一个问题,最好使用堆栈片段(工具栏按钮)使其可运行()。更多信息:我认为这是因为每次单击警报的“确定”按钮时,浏览器都会将焦点从警报发送到文本字段。您可能不会在最终版本的代码中弹出警报(methinks),因此从长远来看,这可能不是问题。@JegadeshBS我想您是对的,我只是用console对它进行了测试,效果很好。谢谢你能接受我的密码作为正确答案还是放弃投票?我明白了,法姆。你是对的,它工作得很好!我总是用警觉来测试,从不知道它出了问题。谢谢
$('body').on('focusout', 'input', function(){
alert('test');
});
<input type="text" name="textbox1" />
<input type="text" name="textbox2" />