2011-06-16 50 views
34

使用Windows Phone 7瀏覽器時,當用戶單擊鏈接時,它會用灰色矩形着色大約0.5秒。但是,如果您有動態頁面行爲,通常情況不錯,例如,單擊鏈接可更新DOM以便鏈接不再可見,但不透明的灰色矩形會在鏈接本身消失後留在屏幕上。Windows Phone 7瀏覽器 - 單擊鏈接時關閉灰色陰影

這看起來很可怕!

有誰知道如何禁用這種效果?

+0

不知道如何禁用這個,但你可以在Javascript中設置一個計時器,並在0.5s後更新DOM :)(我假設你正試圖調整你自己的網站) – Praetorian 2011-06-16 20:33:23

+0

不 - 我看到我是否可以構建複雜的HTML/JS應用程序。所以,不,這不是一個選項。無論如何謝謝! – ColinE 2011-06-16 20:46:57

+0

我的意思是說它更像一個笑話,而不是一個嚴肅的建議:)順便說一句,我喜歡你的Metro in Motion系列帖子。 – Praetorian 2011-06-16 20:57:24

回答

2

下面的解決方案似乎工作(至少在模擬器上)。灰色陰影需要點擊元素的尺寸。如果元素的寬度爲零,則不存在陰影,而點擊子元素仍會觸發該元素的點擊處理程序。

<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

該作品嚐試使用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的

+1

通常效果很好,但在彈出的「live」中會導致popover後面的點擊事件。停止傳播的機制不能與JQuery「實時」命令一起使用。請參閱http://api.jquery.com/event.stopPropagation/ – 2012-11-15 16:50:22

19

添加meta標籤在你,你的頭節的HTML文件。

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

它應該工作。

+1

的附加說明,確實有效!乾杯! – Eggie 2013-07-19 11:30:11

+1

不適用於擁有IE9的Windows 7手機 – Sheetal 2013-07-25 08:24:14