Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > jQuery, события, this в ИЕ


Автор: simplelad 26.2.2008, 15:14
Необходимо вытащить ID столбца по которому кликнули. Использую такой код:

Код

$("#menu_table").find("td").click(
function(){
    number = $(this).attr('id');
    document.write(number);
            return false;
    }
);


В Опере все хорошо работает и на экране появляется ID. А вот в IE в ответ получаю "undefined". Как я понял IE не хочет работать именно с this. Пробовал так же заменить $(this).attr('id') на this.id  - результат абсолютно такой же. 
Как с этим бороться?

Автор: Sardar 29.2.2008, 19:15
В обработчике события нельзя использовать document.write, куда ты писать решил? В лучшем случае заменит весь документ твоим number.
Создай какой нибудь <div id="test"></div>, пиши $('test').text(number);

По теме, this будет window в IE, если реализовали парни вызов обработчика без заморочек (лажа attachEvent, аналога addEventListener). Думаю это маловероятно, парни из jQuery должны были об этом подумать. Сам не использовал.

Автор: RoamingFire 15.3.2008, 14:30
Не стал создавать еще одну тему. Тоже проблема с событием. Вот код:
Код

      $(document).ready(function()
      {
          $('.TOP_MENU_ITEM').mouseover(function()
          {
             $(this).css('backgroundColor','#5B5550');
             $('.left_info').animate({width: 'show'},400);
          });
          $('.TOP_MENU_ITEM').mouseout(function()
          {
              $(this).css('backgroundColor','#23231E');
              $('.left_info').animate({width: 'hide'},400);
          });
      });

При наведении на ячейку с классом "TOP_MENU_ITEM" у нее меняется цвет, и выезжает блок с информацией. Так вот какая проблема, внутри ячейки еще находится ссылка, и при наведении на эту ссылку блок с информацией скрывается и показывается снова. Как быть?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)