WP7 + HTML5 - 如何防止选择/突出显示画布

时间:2012-03-22 02:10:32

标签: css html5 windows-phone-7

我正在尝试为Windows Phone 7 / 7.5编写一个简单的HTML 5应用程序。我有一个HTML5页面,其画布几乎与屏幕大小相同。单击/点击屏幕时,将选择画布。我不希望这种行为,但我仍然希望能够点击/点击各种控件。有没有办法没有这种行为?以下是显示效果的屏幕截图链接。

Screenshot

我试图在正文中使用CSS删除该行为。到目前为止,没有任何工作。

body {
    /* disable selections / cut copy paste actions */
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;

    /* disable callout, image save panel on long press */
    -webkit-touch-callout: none;

    /* "turn off" link highlight, good for custom pressed states */
    -webkit-tap-hightlight-color: transparent;
}

提前感谢您的帮助!

5 个答案:

答案 0 :(得分:4)

对于WP8,他们增加了支持:

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

来源: http://sgrebnov.blogspot.de/2012/10/windows-phone-8-for-html5js-developers.html

答案 1 :(得分:2)

Martin提到以下示例没有显示突出显示行为: http://ie.microsoft.com/testdrive/Mobile/Performance/HamsterDanceRevolution/Default.html

所以我做了一些挖掘并注意到上面的例子将事件附加到窗口对象。我把它归结为文件“kinetic-v3.8.4.js”的以下三行修改:

(1)
this.container.addEventListener(baseEvent,handler,false);
- &GT;
window.addEventListener(baseEvent,handler,false);

(2)
this.container.addEventListener('mousedown',function(evt)
- &GT;
window.addEventListener('mousedown',function(evt)

(3)
this.container.addEventListener('mousedown',function(evt)
- &GT;
window.addEventListener('mouseup',function(evt)

在此修改之后,画布仍然会做出反应并且不需要的突出显示消失。

此致 路易斯

答案 2 :(得分:1)

无法转动此灰色高光。请参阅此相关问题:

Windows Phone 7 Browser - Turn off the gray shading when links are clicked

您正在设置的CSS属性-webkit-tap-hightlight-color是特定于Webkit的,因此可以在Android和iOS上运行。在WP7有一个等价物之前,你会被困在这个!

答案 3 :(得分:1)

在标题中添加元标记实际上解决了这个问题

请添加此

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

答案 4 :(得分:0)

在你的html文件的head部分添加一个元标记。

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

它应该有用。

问候,Pravesh