我想在我的网站上使用onclick和mouseover,但是当我尝试onclick它不会工作。 我想在点击时更改文本的背景颜色,但它会立即更改为以前的颜色。
这是我的HTML:
<a id="a" class="a" href="bereka.html" onclick="myFunction()">HOME </a>
这是a
的css类:
.a
{
font-size:20px;
color:#FFF;
text-align:center;
text-decoration:blink;
padding-right:20px;
}
以下是我的id
a
function myFunction() {
document.getElementById("a").style.backgoundcolor = "#000";
}
答案 0 :(得分:1)
JavaScript区分大小写,您也犯了错字。 backgoundcolor
应为backgroundColor
(Color
中的资本C和background
中的 r )。
答案 1 :(得分:1)
您在页面上有一个链接,您单击它并页面导航。链接背景颜色将不会应用于下一页加载。
要使链接对应于当前页面,您需要向该元素添加一个类,以便您可以采用不同的方式设置它。
答案 2 :(得分:1)
您可以使用CSS来处理mouseOver和访问过的链接,这通常比使用javascript更干净。 a:visited
可让您更改已访问链接的样式,a:hover
会在您将鼠标悬停在链接上时更改链接样式。以下是一些参考链接:
http://www.w3schools.com/cssref/sel_hover.asp http://www.w3schools.com/cssref/sel_visited.asp
答案 3 :(得分:0)
您将点击事件绑定到的元素是一个链接,默认情况下,链接将导航到其href属性中指定的URL,或者如果没有,则会导致页面刷新。
如果你想阻止默认操作,因此只执行你的函数,你应该将事件对象的preventDefault设置为true,如下所示:
function myFunction(event) {
document.getElementById("a").style.backgoundcolor = "#000";
event.preventDefault = true;
}
答案 4 :(得分:0)
你的代码有点不对劲。错字和功能。试试这个:
function myFunction(e) {
document.getElementById("a").style.backgroundcolor = "#000";
e.preventDefault = true;
return false;
}
答案 5 :(得分:0)
首先你的代码不正确。同时从你的html中删除onclick,我想你正在使用jquery,因为你添加了标记jquery
所以请使用下面的代码而不是onclick。
$(document).ready(function(){
$('#yourLink').on('click', function(e){
//your code
document.getElementById("a").style.backgroundcolor = "#000";
e.preventDefault = true;
return false;
});
});
那应该有用。希望它有所帮助!