Android 答:活动不处理phonegap
我想做的是,当我点击任何li元素时,它应该会改变颜色。问题是,当我放置a:active时,它在android 4.0及更高版本上工作,但在android 2.3及更低版本上不工作。我不知道问题是什么。有没有其他方法可以在我按下它时改变li的背景颜色 HTML: 注:Android 答:活动不处理phonegap,android,jquery,html,css,cordova,Android,Jquery,Html,Css,Cordova,我想做的是,当我点击任何li元素时,它应该会改变颜色。问题是,当我放置a:active时,它在android 4.0及更高版本上工作,但在android 2.3及更低版本上不工作。我不知道问题是什么。有没有其他方法可以在我按下它时改变li的背景颜色 HTML: 注: 答:hover可以在android 2.3及以下版本上运行。您可以使用javascript来完成这项工作,而不是依赖伪选择器 将您的css更改为此 #navigation a.active { color:pink;
答:hover可以在android 2.3及以下版本上运行。您可以使用javascript来完成这项工作,而不是依赖伪选择器 将您的css更改为此
#navigation a.active {
color:pink;
background-color:#FF5C33;
}
并添加此javascript
$(function() {
$("#navigation a").on("mousedown", function() {
$(this).addClass("active");
}).on("mouseup", function() {
$(this).removeClass("active");
});
});
这应该适用于Android的早期版本,它将使用旧版本的WebView。根据@Archer答案的启发,您可以使用javascript实现这一点:
$(function() {
$("#navigation a").on("mousedown mouseup", function() {
$(this).toggleClass("active");
});
});
您忘记了id
#
导航的,
我忘了复制,看起来没问题,但伪类:活动的并不等同于单击,而是在鼠标向下移动时,需要在mouseup@A.Wolff是的,谢谢你发现了。我误读了这个问题,尽管使用了:active
,但点击时我还以为他指的是什么。比我的“固定”答案干净多了(谢谢),但我不会删除我的答案,因为其中也有css更改。现在我想知道,目标设备是否正确支持“mousedown mouseup”?。。。也许可以使用touchstart和touchend事件?尽管如此,可能会有一些负面影响,我不知道我目前正在自己开发Cordova应用程序,还有鼠标/触摸事件的雷区。如果我们进去的话,我们整个星期都可能在这里!我认为就这个问题而言,mousedown和mouseup是正确的(直到明天!)谢谢你回答我的问题,但我仍然有同样的问题。它在浏览器中工作,在android 4.0和更高版本中也工作,但在android 2.3上仍然不工作。
$(function() {
$("#navigation a").on("mousedown", function() {
$(this).addClass("active");
}).on("mouseup", function() {
$(this).removeClass("active");
});
});
$(function() {
$("#navigation a").on("mousedown mouseup", function() {
$(this).toggleClass("active");
});
});