我有一個使用webview加載和顯示html頁面的Android應用程序。 但是,當一個新的頁面剛剛被加載到web視圖中時,有時會有一個已經懸停的元素。例如,id爲「imhovered」的元素已經被徘徊,並具有div的藍色背景(請參閱下面的代碼)。這種情況非常隨機,取決於當前頁面的元素結構以及上一頁中用戶的觸摸位置。Android Webview如何刪除加載元素的焦點/懸停狀態?
的html代碼:
<body>
<a href="link1" class="menu">
<div class="qlink">here is div1</div>
</a>
<a href="link2" class="menu">
<div class="qlink"> here is div2 </div>
</a>
<a id="imhovered" href="link3" class="menu">
<div class="qlink">here is div3</div>
</a>
</body>
和樣式:
.menu {
color: red;
text-decoration:none;
font-family:sans-serif;
font-size: 28px;
}
.menu:hover {
color: red;
background-color: green;
}
.qlink {
padding-left: 84px;
padding-top: 24px;
padding-bottom: 20px;
background: url(aaa.png) no-repeat scroll 28px 0px;
}
.qlink:hover {
background-color:blue;
}
我的問題是如何徘徊元素的狀態刪除此錯誤? 我試圖找到一個解決方案一段時間與研究和自己的實驗,但仍然沒有成功。以下是我在我的實驗中發現:
webview.clearFocus() - >不行
的JavaScript/jQuery的時候DOM就緒:
$(document).ready(function() {
alert($("*:hover").attr("id"));--> result:undefined
alert($("*:active").attr("id")); --> result:undefined
alert($("*:focus").attr("id")); --> result:undefined
});
這意味着,當DOM就緒,沒有專注或懸置的元素。身體的onload
的JavaScript/jQuery的(頁面加載時):
alert($("*:hover").attr("id")); --> result:imhovered
alert($("*:active").attr("id")); --> result:undefined
alert($("*:focus").attr("id")); --> result:undefined
這意味着懸停狀態剛剛現在出現在頁面剛剛被加載。做了任何樣式修改現在已經太遲了,因爲已經顯示了錯誤的懸停背景?它是一個webkit/android的bug嗎?我希望你們能給我任何建議來解決這個問題。提前致謝!