Как написать hoverHandler в JavaScript, чтобы изменить цвет элемента при наведении? - PullRequest
0 голосов
/ 21 октября 2011
function hoverHandler(e)
{
if(event.target.getAttribute("id") != "hovering")
{
    event.target.setAttribute("id", "hovering");
}
}

Это код, который у меня есть, у меня также есть CSS, который устанавливает цвет при наведении на id.

Проблема: 1) Когда я нахожусь, цвет не возвращается к предыдущему, когда я покидаю элемент

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Разве вы не можете просто использовать Css для решения проблемы?

Что-то вроде

.element:hover
{
 background-color: #FF0000;
}

где элемент - имя класса

0 голосов
/ 21 октября 2011

попробуйте добавить, и убедитесь, что вы проверяете также onmouseout

 <script>
 function hoverHandler(e)
  {
 if(e.id=="red")    // hovering
 {
 e.id="blue"; 
 }else {
e.id="red"; 
 }
 }
 </script>
<span onmouseover="hoverHandler(this)" onmouseout="hoverHandler(this)">test</span>

или встроенные обработчики событий могут быть

<style>#startStyle {color:lime} #red {color:red}#blue{color:blue}</style>


 <span onmouseover="this.id='red'" onmouseout="this.id=''">test</span>

onmouseout по умолчанию вернется к базовому стилю, если таковой имеется; или

 <span onmouseover="this.id='red'" onmouseout="this.id='startStyle'">test</span>
...