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();
答案 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键,或鼠标点击 元件。