最佳答案
我正在尝试制作一个按钮,这样当用户点击它时,它会在鼠标按钮被按下时改变它的样式。我还希望如果在移动浏览器中触摸它,它也能以类似的方式改变它的样式。对我来说,似乎显而易见的事情是使用 CSS: 活动的伪类,但这不起作用。我试过: 集中注意力,但是没有用。我试了一下: 悬停,它似乎工作,但它保持了风格后,我把我的手指关闭按钮。所有这些观察都发生在 iPhone4和 Droid2上。
有没有办法在移动浏览器(iPhone、 iPad、 Android,希望还有其他)上复制这种效果?现在,我正在做这样的事情:
<style type="text/css">
#testButton {
background: #dddddd;
}
#testButton:active, #testButton.active {
background: #aaaaaa;
}
</style>
...
<button type="button" id="testButton">test</button>
...
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.1.min.js'></script>
<script type='text/javascript'>
$("*").live("touchstart", function() {
$(this).addClass("active");
}).live("touchend", function() {
$(this).removeClass("active");
});
</script>
活动伪类用于桌面浏览器,活动类用于触摸浏览器。
我想知道是否有一种更简单的方法来做到这一点,而不涉及 Javascript。