34 votes

Windows Phone 7 Navigateur - éteindre l'ombrage gris lorsque des liens sont cliqués

Avec le Windows Phone 7 Navigateur, lorsque l'utilisateur clique sur un lien, il est ombragé avec un rectangle gris pour environ 0,5 secondes. Ce qui est bien, dans l'ensemble, cependant, si vous avez de la page dynamique du comportement, par exemple, en cliquant sur un lien des mises à jour du DOM, de sorte que le lien n'est plus visible, l'opaque rectangle gris s'attarde sur l'écran après le lien lui-même a disparu.

Cela ressemble assez horrible!!!

Personne ne sait comment désactiver cet effet?

19voto

Pravesh Pesswani Points 211

Ajouter une balise meta à vous de la tête en vous fichier html.

<meta name="msapplication-tap-highlight" content="no" /> 

Il devrait fonctionner.

2voto

Jerome Points 840

La suite est la solution qui semble fonctionner (au moins sur l'émulateur). L'ombrage gris besoins les dimensions de l'élément cliqué. Si l'élément a une largeur égale à zéro alors il n'y a pas d'ombrage, en cliquant sur les éléments d'enfant encore les feux de l'élément du gestionnaire de clic.

<div id="myLink" style="float:left">
   <img src="images/myLinkIcon.png" style="position:absolute" />
   <span style="position:absolute;left:50px">Click here</span>
</div>

<script>
    // jQuery
    $(function () {
        $("#myLink").click(function () {
            console.log("clicked on myLink");
        });
    });
</script>

La div pouvez flotter ou être en position absolue. L'enfant des éléments doivent être en position absolue, sinon la div acquiert une largeur.

1voto

sandeep kumar Points 56

Cela fonctionne, essayez d'utiliser jquery

$(id|classname|document).live('click',function(){
   //write code that needs to executed in this area
});

J'ai utilisé dans mon projet. Il fonctionne très bien pour cacher le gris de l'ombre, éviter l'utilisation de la fonction inline dans les pages html ... à l'aide de jquery cette fonction fonctionne uniquement lorsque le contenu interne est affectée.. par exemple

<div id="d1"><div id="d2"></div></div>

vous pouvez à présent à l'intérieur de la div comme ceci

$('#d2").live('click',function(){changecolor();changebackground();});

profitez de codage........jquery

1voto

dipold Points 313

Peut-être que cela peut vous aider à réduire le problème:

https://github.com/triceam/WinPhone-NoGrayBox

-1voto

ozeczek Points 292

La solution est de faire 2 DIVs. Div principale n'avez pas la largeur ou de la hauteur et de ce DIV est tir de l'événement et de la DIV à l'intérieur ont eu de la taille.

J'ai fait avec mes amis qui travaillent par exemple à l'intérieur de phonegap projet. Allez voir le lien: https://github.com/sellupp/cordova-for-windows-phone-7-antidepressant Vous êtes à la recherche pour: 1. zone grise sur le robinet

Nous sommes également le problème du traitement à faible rapidité du temps. Vérifier ;)

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