Bonjour,
J'ai réaliser un code pour effectuer un changement du contenue lors de la pression sur les flèches gauche et droite :
$(document).keydown(function(e){
var id = (parseInt($('li.active').attr('id')));
if(id!=1){
if(e.keyCode == 37){
var id = (parseInt($('li.active').attr('id'))-1);
$('li.active').removeClass('active').stop(true).fadeOut('300');
$('li[id="'+id+'"]').addClass('active').delay('300').stop(true).fadeIn('300');
window.location.hash="#"+id;
}
}
if(id!=<?php echo $numpage ?>){
if(e.keyCode == 39){
var id = (parseInt($('li.active').attr('id'))+1);
$('li.active').removeClass('active').stop(true).fadeOut('300');
$('li[id="'+id+'"]').addClass('active').delay('300').stop(true).fadeIn('300');
window.location.hash="#"+id;
}
}
});
Ce que je voudrais c'est avoir une condition pour que si le visiteur est focus sur un input ou select, les flèches n’exécute aucun code.
Quelqu'un aurais une solution ?
Salut,
Comme ça sans tester, je dirais :
if(!$('input').is(':focus')||!$('select').is(':focus')){
//Ton code
}
Encore une fois, je n'ai pas testé, tiens nous au courant. :)
EDIT: Non, désolé ça marche pas mais je laisse le code, je pense que la base de réflexion n'est pas mauvaise.
Re-EDIT: (trouvé sur StackOverflow)
if ($('*:focus').length == 0) {
//do Something
}
Merci beaucoup, je clarifie si quelqu'un d'autre est intéressé par la réponse :
if ($('*:focus').length == 0) {
//exécuter l'action si aucun élément n'est focus
}