0

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

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

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

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

(А), что это «большая ошибка» и (B) какой стиль вы пытаетесь установить и к какой ценности? – Pointy

ответ

0

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

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

эта линия

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

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

Смежные вопросы