2015-03-13 3 views
-3

Я хочу использовать onclick и mouseover на своем сайте, но когда я попробовал onclick, это не сработает. Я хочу изменить цвет фона моего текста при щелчке, но он мгновенно изменится на его предыдущий цвет.Javascript onClick and mouseOver function

Вот мой HTML:

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

Вот мой CSS класс для a:

.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

+1

, потому что это ссылка и вы удаляетесь – epascarello

+0

Возможный дубликат [предотвратить событие по умолчанию в onclick] (http://stackoverflow.com/questions/7056669/prevent-default-event-in-onclick) – roo2

ответ

1

JavaScript является регистру и вы также сделали опечатку. backgoundcolor должен быть backgroundColor (капитал C в Color и r в background).

+2

Это должно быть ' backgroundColor' :) – Andy

+0

Ах, так и должно! –

+0

все еще не работает – user3266023

1

У вас есть ссылка на страницу, вы щелкаете по ней, и страница перемещается. Цвет ссылки не будет применен при загрузке следующей страницы.

Чтобы связать ссылку с текущей страницей, вам нужно добавить класс к элементу, чтобы вы могли по-разному стилизовать его.

+0

что мне делать – user3266023

+0

Вам нужно либо вручную обновить html страницы, чтобы иметь класс для активной ссылки или напишите какой-нибудь JavaScript, чтобы узнать ссылку, соответствующую странице. – epascarello

+0

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

0

Элемент, с которым вы связали событие click, является ссылкой, по умолчанию ссылка будет перемещаться по URL-адресу, указанному в его атрибуте href, или при отсутствии этого вызвать обновление страницы.

Если вы хотите, чтобы предотвратить действие по умолчанию, таким образом, выполняя только вашу функцию, вы должны установить preventDefault на объекте события истина, как это:

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

Первый неверный номер телефона. Также удалите onclick из html, и я полагаю, вы используете jquery, потому что вы добавили тег jquery, поэтому используйте код ниже, а не onclick.

$(document).ready(function(){ 
    $('#yourLink').on('click', function(e){ 
     //your code 
     document.getElementById("a").style.backgroundcolor = "#000"; 
     e.preventDefault = true; 
     return false; 
    }); 
}); 

Это должно сработать. надеюсь, что это поможет!

1

Вы можете использовать CSS для обработки mouseOver и посещенных ссылок, что, как правило, более чистое, чем использование javascript. a:visited позволяет изменять стиль посещенных ссылок, а a:hover изменяет стиль ссылок при наведении на них. Вот несколько ссылок для справки:

http://www.w3schools.com/cssref/sel_hover.asp http://www.w3schools.com/cssref/sel_visited.asp