【问题标题】: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文件?

标签: jquery mobile touch


【解决方案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); 
}

有关详细信息,请参阅 thisthis

Jsfiddle here

【讨论】:

  • @user1937021 它至少在适用于 Android 的 Google Chrome 中确实有效。我用关于其他浏览器的注释更新了我的帖子。希望这会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
相关资源
最近更新 更多