2015-03-13 55 views
-3

我想在我的網站上使用onclick和mouseover,但是當我嘗試onclick它不會工作。 我想在點擊時更改文本的背景顏色,但它會立即更改爲之前的顏色。Javascript onClick和mouseOver功能

這裏是我的html:

<a id="a" class="a" href="bereka.html" onclick="myFunction()">HOME &nbsp;</a> 

這裏是我的a CSS類:

.a 
    { 
     font-size:20px; 
     color:#FFF; 
     text-align:center; 
     text-decoration:blink; 
     padding-right:20px; 
    } 

而下面是我與ida

function myFunction() { 
    document.getElementById("a").style.backgoundcolor = "#000"; 
} 
+1

'backgoundcolor'是一個錯字。 – Andy 2015-03-13 13:45:58

+1

,因爲它是一個鏈接,你導航 – epascarello 2015-03-13 13:46:00

+0

可能重複的[預防onclick中的默認事件](http://stackoverflow.com/questions/7056669/prevent-default-event-in-onclick) – roo2 2015-03-13 14:07:09

回答

1

的JavaScript腳本病例敏感,你也犯了一個錯字。 backgoundcolor應該是backgroundColor(大寫字母C在Colorrbackground)。

+2

它實際上應該是' backgroundColor' :) – Andy 2015-03-13 13:46:26

+0

啊,所以它應該! – 2015-03-13 13:48:35

+0

仍然無法正常工作 – user3266023 2015-03-13 13:49:21

1

你在頁面上有一個鏈接,你點擊它,頁面導航。鏈接背景顏色將不會應用於下一頁加載。

要使鏈接對應於當前頁面,您需要向該元素添加一個類,以便以不同方式對其進行設置。

+0

我應該怎麼做 – user3266023 2015-03-13 13:51:20

+0

您需要手動更新頁面的html一個用於活動鏈接的類或者編寫一些JavaScript ti找出與頁面相對應的鏈接。 – epascarello 2015-03-13 13:53:53

+0

http://stackoverflow.com/questions/2397370/how-to-change-the-link-color-of-the-current-page-with-css – epascarello 2015-03-13 13:54:38

0

您將您的點擊事件綁定爲鏈接的元素是鏈接,默認情況下,鏈接將導航到其href屬性中指定的網址,或者在缺少該鏈接時導致頁面刷新。

如果要防止默認操作,從而只執行你的函數,你應該在事件對象上設置了preventDefault爲true,像這樣:

function myFunction(event) { 
    document.getElementById("a").style.backgoundcolor = "#000"; 
    event.preventDefault = true; 
} 
0

你的代碼是一個有點不對勁。錯字和功能。試試這個:

function myFunction(e) { 
    document.getElementById("a").style.backgroundcolor = "#000"; 
    e.preventDefault = true; 
    return false; 
} 
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; 
    }); 
}); 

這應該工作。希望它是幫助!