2011-05-11 38 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