jquery:专注于div不起作用

时间:2011-05-11 14:30:04

标签: jquery

ajax功能结束后。在成功的消息中,我专注于特定的div。但它不起作用。我的代码在这里。

$j.ajax({
    url:"<?php echo admin_url( 'admin-ajax.php' ); ?>",
    type:"POST",
    data:"action=press_release&page="+0+"&do_task="+do_task+"&id="+id+"&module="+module,
    success:function(data){
        $j("#com_cont").show();
        $j("#com_cont").html(data);
        $j("#loading_heart").hide();
        $j("#focus_point").focus();
    }
});

这是代码无效(不关注div:$j("#focus_point").focus();

3 个答案:

答案 0 :(得分:114)

如果<div>具有tabindex属性,则可以对其进行关注。 (该值可以设置为-1)

例如:

$("#focus_point").attr("tabindex",-1).focus();

另外,请考虑设置outline: none !important;,使其显示时没有焦点矩形。

var element = $("#focus_point");
element.css('outline', 'none !important')
       .attr("tabindex", -1)
       .focus();

答案 1 :(得分:74)

您可以使用以下代码将焦点带到div,在此示例中,页面滚动到<div id="navigation">

$('html, body').animate({ scrollTop: $('#navigation').offset().top }, 'slow');

答案 2 :(得分:21)

默认情况下,焦点对div不起作用。但是,根据这一点,你可以使它工作:

  

焦点事件被发送到元素   当它获得焦点时。这个事件是   隐含地适用于有限集合   元素,例如表单元素   (<input><select>等)和链接   (<a href>)。在最近的浏览器   版本,事件可以扩展到   包括所有元素类型   明确设置元素   tabindex属性。元素可以获得   通过键盘命令进行聚焦,例如   Tab键,或鼠标点击   元件。

http://api.jquery.com/focus/