2011-05-11 88 views
42

ajax函数结束后。在成功的消息中,我将重点放在特定的div上。但它不起作用。我的代码在这里。jquery:专注于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();

+0

这个div的内容究竟是什么? – user489872 2011-05-11 14:34:40

+0

最好的答案就在这个页面http://stackoverflow.com/questions/10503606/scroll-to-bottom-of-div-on-page-load-jquery – pmbanugo 2015-10-24 14:13:34

回答

67

您可以使用下面的代码把重点转向一个div,在这个例子中,页面滚动到<div id="navigation">

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

这是一个不好的答案,下面的一个更正确而且更干净。 – Himmators 2015-03-23 13:30:39

+0

在大多数情况下,它是完美的答案,精彩的+1 – 2015-06-18 09:17:54

+0

最好的答案就是在这个页面http://stackoverflow.com/questions/10503606/scroll-to-bottom-of-div-on-page-load-jquery – pmbanugo 2015-10-24 14:13:15

19

聚焦无法在默认情况下div的工作,但是,根据这一点,你可以把它的工作:

焦点事件被发送到一个元件 当它获得焦点。此事件是 隐式适用于元件,诸如表单元素的一组有限的 (<input><select>等)和链接 (<a href>)。在最近的浏览器 版本中,该事件可以扩展为 包括所有元素类型由 明确设置元素的 tabindex属性。元素可以通过键盘命令获得焦点,例如Tab键为 ,或者通过点击鼠标在 元素上。

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

94

一个<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(); 
+0

这是我见过的,但我无法得到它为Ie8或Ie7工作 – 2012-09-07 15:14:09

+0

我似乎无法得到这为Ie8或Ie7的工作,要么我也看到你需要添加setTimeout所以它给事件一些额外的时间 – 2012-09-10 17:51:01

+0

这对我来说在可访问性方面非常有用。 – Sashwat 2013-05-24 11:16:27