Javascript onClick和mouseOver函数
我想在我的网站上使用onclick和mouseover,但当我尝试onclick时,它不会起作用。 我想在单击时更改文本的背景色,但它会立即更改为以前的颜色 这是我的html:Javascript onClick和mouseOver函数,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想在我的网站上使用onclick和mouseover,但当我尝试onclick时,它不会起作用。 我想在单击时更改文本的背景色,但它会立即更改为以前的颜色 这是我的html: <a id="a" class="a" href="bereka.html" onclick="myFunction()">HOME </a> 下面是我的脚本,带有ida function myFunction() { document.getElementById(
<a id="a" class="a" href="bereka.html" onclick="myFunction()">HOME </a>
下面是我的脚本,带有id
a
function myFunction() {
document.getElementById("a").style.backgoundcolor = "#000";
}
JavaScript是区分大小写的,而且您还输入了一个错误
backgroundColor
应该是backgroundColor
(在Color
中大写C,在background
中大写r)。如果页面上有一个链接,单击它,页面就会导航离开。链接背景色将不会应用于下一页加载
要使链接对应于当前页面,您需要向元素添加一个类,以便可以对其进行不同的样式设置 您将单击事件绑定到的元素是一个链接,默认情况下,链接将导航到其href属性中指定的URL,如果没有该属性,则会导致页面刷新 如果要阻止默认操作,从而仅执行函数,则应将事件对象上的preventDefault设置为true,如下所示:
function myFunction(event) {
document.getElementById("a").style.backgoundcolor = "#000";
event.preventDefault = true;
}
你的代码有点错误。打字和功能。试试这个:
function myFunction(e) {
document.getElementById("a").style.backgroundcolor = "#000";
e.preventDefault = true;
return false;
}
首先,您的代码不正确。还要从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;
});
});
这应该行得通。希望对你有帮助 您可以使用CSS处理鼠标悬停和访问的链接,这通常比使用javascript更干净
a:visited
允许您更改已访问链接的样式,a:hover
在您将鼠标悬停在链接上时更改链接的样式。以下是一些供参考的链接:
backgroundColor
是一个打字错误。因为它是一个链接,你可以导航到其他地方。它的可能副本实际上应该是backgroundColor
:)@user3266023它适合我。当然,它会离开页面,因为您并没有阻止它这样做:您需要手动更新页面的html,为活动链接创建一个类,或者编写一些JavaScript来确定与页面对应的链接。
$(document).ready(function(){
$('#yourLink').on('click', function(e){
//your code
document.getElementById("a").style.backgroundcolor = "#000";
e.preventDefault = true;
return false;
});
});