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键,或者通过鼠标点击元素。