Webkit在ASP.NET 3.5中突出显示颜色包括ScriptManager的页面颜色
问题描述:
我们正在开发一个使用ASP.NET 3.5的jQuery Mobile应用程序,而且我们遇到了很多大的,奇怪形状的问题,并且很让人分心强调。我发现在页面中包含一个ScriptManager似乎是罪魁祸首,就我们而言。这是一个简单的.aspx页面,可以重现问题(我正在测试Android 2.2.2和iOs 4.2.6)。Webkit在ASP.NET 3.5中突出显示颜色包括ScriptManager的页面颜色
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2.Default" %>
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Title</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"> </script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager"></asp:ScriptManager>
<h1>Oh Hai!</h1>
</form>
</body>
</html>
使用ScriptManager,那h1标签将产生水龙头突出每它触动时间。丢失ScriptManager,轻拍突出显示消失。假设的ScriptManager是必要的,有什么比做类似更好:
<script type="text/javascript">
$(function() {
$('*').css('-webkit-tap-highlight-color', 'rgba(0, 0, 0, 0)');
})
</script>
添加CSS规则,我们的样式表是不行的,因为使用ScriptManager的客户端初始化似乎以某种方式将其覆盖。
答
ScriptManager
是增加点击处理程序的表单元素,所以实际上WebKit是在表单上拦截点击 - H1
恰好是内从一个DOM的观点。
您可以通过在<H1></H1>
标签后面移动<form>
标签来证明这一点,当然这对于您的所有元素来说都不实用。
我想加入“-webkit抽头高亮颜色”的方法是有效的,但也许你需要脚本管理器后要做到这一点确实它的东西:
$(document).ready(function(){
$('*').css('-webkit-tap-highlight-color', 'rgba(0, 0, 0, 0)');
});
你也可以用添加实验css内联到特定的form/h1元素,以消除css级联或脚本问题。