Браузер Windows Phone 7 - отключение серого затенения при нажатии на ссылки - PullRequest
34 голосов
/ 17 июня 2011

В браузере Windows Phone 7, когда пользователь щелкает ссылку, она затеняется серым прямоугольником примерно на 0,5 секунды. В общем, это нормально, однако, если у вас динамическое поведение страницы, например, при щелчке по ссылке обновляется DOM, так что ссылка больше не видна, непрозрачный серый прямоугольник остается на экране после того, как сама ссылка исчезла.

Это выглядит довольно ужасно!

Кто-нибудь знает, как отключить этот эффект?

Ответы [ 4 ]

19 голосов
/ 16 июля 2013

Добавьте метатег в ваш головной раздел в html-файле.

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

Это должно работать.

2 голосов
/ 03 марта 2012

Кажется, работает следующее решение (по крайней мере, на эмуляторе).Для серой заливки нужны размеры элемента, по которому щелкнули.Если элемент имеет нулевую ширину, то затенение отсутствует, а при щелчке дочерних элементов по-прежнему запускается обработчик щелчка элемента.

<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>

Div может плавать или быть абсолютно позиционированным.Дочерние элементы должны быть абсолютно позиционированы, в противном случае div получает ширину.

1 голос
/ 29 октября 2012

Это работает, попробуйте использовать jquery

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

Я использовал это в своем проекте. Он отлично работает, чтобы скрыть серый оттенок, избегая использования встроенной функции на html-страницах ... используя jquery, эта функция работает только тогда, когда ей назначено внутреннее содержимое .. например

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

вы можете это для внутреннего div, как это

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

наслаждайтесь кодированием ........ jquery

0 голосов
/ 17 января 2014

Решение - сделать 2 DIV. Основной div не имеет ширины / высоты, и этот DIV запускается, а DIV внутри имеет размер.

Я сделал с моими друзьями рабочий пример в проекте phonegap. Проверить ссылку: https://github.com/sellupp/cordova-for-windows-phone-7-antidepressant Вы ищете: 1. серая область на кране

Мы также решаем проблему с малым временем отклика. Проверьте это;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...