Прикрепление onmouseover после отображения страницы? - PullRequest
2 голосов
/ 03 марта 2011

Привет,

Когда первая страница отображается, мои элементы div выглядят так:

<div onmousedown="this.className='showhideExtra_down_click';"
   onmouseout="this.className='showhideExtra_down';"
   onmouseover="this.className='showhideExtra_down_hover';"
   class="showhideExtra_down" id="extraFilterDropDownButton">&nbsp;</div>

Затем я вручную обновляю атрибуты onmouse с помощью javascript, так чтовыглядит так:

<div onmousedown="this.className='showhideExtra_down_click';"
   onmouseout="this.className='showhideExtra_down';"
   onmouseover="this.className='showhideExtra_down_hover';"
   class="showhideExtra_down" id="extraFilterDropDownButton">&nbsp;</div>

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

Обратите внимание: мне нужна совместимость с IE6 , поэтому я использую onmouse вместо CSS hover

BestRegards

Редактировать: это то, что я нашел, и это работает, я пока не тестировал его в IE6:

$("#extraFilterButton").hover(function() {
                $(this).attr('class','showhideExtra_down_hover');
            }, 
            function() {
                $(this).attr('class','showhideExtra_down');
            });

Ответы [ 3 ]

3 голосов
/ 03 марта 2011

вы можете использовать:

$('#selector').live('mouseover',function(){//something todo when mouse over})

live () допускает динамические изменения

(вы можете сделать то же самое для 'mouseout')

0 голосов
/ 05 марта 2011

Вот что я закончил:

    $("#extraFilterDropDownButton").hover(function() {
        if($('#divCategoryFilter').css("display") == 'block'){
            $(this).attr('class','showhideExtra_up_hover');
        }
        else{
            $(this).attr('class','showhideExtra_down_hover');
        }
    }, 
    function() {

        if($('#divCategoryFilter').css("display") == 'block'){
            $(this).attr('class','showhideExtra_up');
        }
        else{
            $(this).attr('class','showhideExtra_down');
        }
    });

Это, однако, еще не проверено в IE6.

0 голосов
/ 03 марта 2011

Чтобы расширить правильный ответ @ maniator, я бы использовал:

$("#some_id").live("hover",
  function() {
    // do on mouseover
  },
  function() {
    // do on mouseout
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...