jquery:专注于div不起作用

Aru*_*ung 49 jquery

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();
    }
});
Run Code Online (Sandbox Code Playgroud)

这是代码不起作用(不关注div:$j("#focus_point").focus();

Sud*_*r R 118

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

例如:

$("#focus_point").attr("tabindex",-1).focus();
Run Code Online (Sandbox Code Playgroud)

此外,请考虑设置outline: none !important;,使其显示没有焦点矩形.

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


der*_*rek 75

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

$('html, body').animate({ scrollTop: $('#navigation').offset().top }, 'slow');
Run Code Online (Sandbox Code Playgroud)

  • 我想集中注意力,但你在滚动。 (2认同)

Amy*_*ski 21

默认情况下,焦点对div不起作用.但是,根据这个,你可以使它工作:

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

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