Прототип setStyle не работает в IE6 - PullRequest
0 голосов
/ 15 марта 2010

Я использую прототип, а setStyle в IE6 все портит. Это большая ошибка.

Я гуглил, но не могу найти решение.

Я определил строку в прототипе с помощью отладчика сценариев IE, это последний блок else:

setStyle: function(element, styles) {
    element = $(element);
    var elementStyle = element.style, match;
    if (Object.isString(styles)) {
      element.style.cssText += ';' + styles;
      return styles.include('opacity') ?
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
    }
    for (var property in styles)
      if (property == 'opacity') element.setOpacity(styles[property]);
      else
        elementStyle[(property == 'float' || property == 'cssFloat') ?
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
            property] = styles[property];

    return element;
  },

У кого-нибудь была эта проблема?

P.S. обычно я использую jQuery, но это другой код, который мне пришлось обновить.

1 Ответ

0 голосов
/ 09 апреля 2010

Я сам столкнулся с этой проблемой ... если вы используете отладчик IE, найдите возможность показать стек и выполнить резервное копирование, пока не попадете в собственный код.Вероятный виновник - фиктивная обстановка.В моем случае у меня была проблема с копированием / вставкой, и я пытался сделать это:

msgDiv.setStyle( { padding: '6px', margin: 'margin' } );

эта строка

msgDiv.setStyle( { padding: '6px', margin: '4px' } );

отлично работала ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...