54 votes

jquery : le focus sur div ne fonctionne pas

Une fois la fonction ajax terminée. dans les messages de réussite, je me concentre sur le div spécifique. Mais ça ne marche pas. Mon code est ici.

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

Ceci est le code ne fonctionne pas (ne se concentre pas sur le div : $j("#focus_point").focus();

127voto

Sudhakar R Points 3125

un <div> peut être focalisé s'il a un attribut tabindex (la valeur peut être fixée à -1)

Par exemple:

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

En outre , envisagez de définir outline: none !important; pour qu'il s'affiche sans rectangle de mise au point.

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

79voto

derek Points 3835

vous pouvez utiliser le code ci-dessous pour mettre le focus sur un div, dans cet exemple la page défile jusqu'au <div id="navigation">

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X