始终将焦点返回到特定输入字段

时间:2014-08-17 17:18:46

标签: javascript jquery setfocus

我不认为这个确切的问题在其他任何地方都有答案。

我有一个包含几个输入字段的页面,以及针对各种事物的大量ajax活动。这是一个在线POS界面。当通过按钮单击执行任何ajax动作时,通常需要将焦点返回到主条形码输入字段。

虽然可以通过在任何这些操作之后始终调用$('#fieldid')。focus()来完成,但我想知道是否有一种方法可以指定此字段应始终具有焦点任何行动之后。还有其他输入字段,您需要键入名称或其他内容,因此显然它不能只设置计时器并将焦点设置为超时,因为您需要有时间进行输入。

一种选择是让计时器始终运行,并在键入时不断重置。这似乎是明智的,因为这些字段确实有与他们相关的键入的实时搜索。

也许我已经在这里回答了我自己的问题,但任何更好的方法都会非常感激。

3 个答案:

答案 0 :(得分:0)

在添加html后,您是否尝试在回调中使用焦点触发?

示例:

$.post(
    'ajax.php',
    { next:next },
    function(data){
        $('body').append($(data).hide().fadeIn('slow'));
        $('textarea').focus();
    }
);

答案 1 :(得分:0)

为避免每次ajax调用的重复代码,

使用ajaxStop事件。

$.ajaxStop(function(){
    $('textarea').focus();
});

答案 2 :(得分:0)

您可以使用preventDefault(); Java函数