Показать сообщение отдельно
  #17 (permalink)  
Старый 24.11.2009, 13:52
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

А вот и фикс для сложившейся ситуёвины.
if (window.opera){ // Опера онли
	document.addEventListener('DOMAttrModified', function(e){ // при изменении аттрибута любого элемента на странице
		if (arguments.callee.skip || e.attrName != "style") return; // если установлен .skip, или если изменился аттрибут не style - на выход
		var trigger = (e.srcElement||e.target); // кто же вызвал объект?
		switch (trigger.tagName.toLowerCase()){ // и в зависимости от его имени тега
			case "input":
			case "textarea":
			case "select":
			case "option":
			case "optgroup":
				arguments.callee.skip = true; // временно дизаблим себя же. Это безопасно, никто вклиниться не успеет.
				trigger.style = e.newValue; // прописываем style явным образом.
				arguments.callee.skip = false; // снова подключаем себя
			break;
		};
	}, true); // капчуринг
};


Подключать на странице как можно выше.
Ответить с цитированием