jquery:专注于div是行不通的

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();

你可以使用下面的代码将焦点转移到div,在这个例子中,页面滚动到<div id="navigation">

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

如果它有一个tabindex属性,一个<div>可以被集中。 (该值可以设置为-1)

例如:

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

另外 ,考虑设置outline: none !important; 所以没有焦点矩形显示。

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

焦点在默认情况下不适用于div。 但是,根据这个,你可以使它工作:

焦点事件在获得焦点时发送到元素。 此事件隐式适用于有限的一组元素,如表单元素( <input><select>等)和链接( <a href> )。 在最近的浏览器版本中,可以通过显式设置元素的tabindex属性来将事件扩展为包含所有元素types。 一个元素可以通过键盘命令获得焦点,比如Tab键,或者通过鼠标点击元素。

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