更改触摸链接的背景颜色

Posted

技术标签:

【中文标题】更改触摸链接的背景颜色【英文标题】:Change background color of a link on touch 【发布时间】:2013-05-28 02:01:48 【问题描述】:

当用户在手机上触摸/点击时,我正在尝试更改链接的背景颜色,尽管以下代码有效,但有时链接仍然是黑色,并且在您释放时不会变回白色,是否存在更好的编码方式?

$('#test').bind('touchstart', function() 
    $(this).css('background-color', 'black');
);

$('#test').bind('touchend', function() 
    $(this).css('background-color', 'white');
);​

谢谢!

【问题讨论】:

你使用的是什么版本的jQuery文件? 【参考方案1】:

这可以在没有 jQuery 的 CSS 中完成:

a:active

    background-color: black;

注意与 android 的股票浏览器的兼容性

由于某种原因,上面的代码在 Android 的常用浏览器(可能还有其他一些浏览器)中不起作用。但是,一旦您将 ontouchstart="" 参数添加到 <body> 标记,它就会起作用,如下所示:

<body ontouchstart="">

此外,Android 股票浏览器默认突出显示链接(蓝色背景,在我的手机上)。要禁用此功能,请键入:

a

    -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 

有关详细信息,请参阅 this 和 this。

Jsfiddle here

【讨论】:

@user1937021 它至少在适用于 Android 的 Google Chrome 中确实有效。我用关于其他浏览器的注释更新了我的帖子。希望这会有所帮助。

以上是关于更改触摸链接的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改小吃店的背景颜色?

ListItem 应在按下时更改背景颜色、文本和图像的颜色

悬停时如何更改导航栏链接上的文本颜色(和背景)? [复制]

按下时更改操作栏按钮的背景颜色

使导航栏活动链接背景颜色保持突出显示

悬停链接以使用 css 更改 *PAGE* 背景颜色