Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   jQuery Использование textIndent при анимации (https://javascript.ru/forum/css-html-browser/6194-jquery-ispolzovanie-textindent-pri-animacii.html)

Flounder 23.11.2009 12:45

да опера вообще галимый недобраузер. Задрали её тупые глюки.

subzey 23.11.2009 13:15

Ругаться все горазды. А читать стандарты кто будет?
Цитата:

text-indent
Applies to: block-level elements, table cells and inline blocks
А input у нас что? Text control. Соответственно, чтобы в инпуте работал text-indent, ему нужно установить "display" в "block", "inline-block", или "table-cell".

Минус в карму тебе, Flounder, не захотел разобраться даже.

Flounder 23.11.2009 13:29

Цитата:

Сообщение от subzey (Сообщение 36016)
Минус в карму тебе, Flounder, не захотел разобраться даже.

О, точно, я тут один не захотел разобраться. А ты тут такой умный... И сразу минус. И сразу мне (а чего с меня взять то, всеравно в карме 0), на батьку то стрёмно, да? ))) ыыы.. А я лишь в общем сказал, потому что это действительно так. И те же самые стандарты Оперой не всегда соблюдаются.
Зануда ты какой то, subzey. Поставь ещё штоль минус, может из меня отрицательный персонаж получиться тут :)

subzey 23.11.2009 20:31

Повторюсь, ругаться все горазды.

Octane 23.11.2009 20:47

Цитата:

Сообщение от subzey
не захотел разобраться даже

subzey, а ты пробовал так сделать, заработало?

subzey 24.11.2009 11:52

Гхм-м... Провел изолированный тесу, оказалось, что помогает не display, а то, что я вместо .style.textIndent="..." использовал .style="text-indent: ...".

Flounder, извини меня, пожалуйста, я баклан и пи?добол.

subzey 24.11.2009 13:52

А вот и фикс для сложившейся ситуёвины.
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); // капчуринг
};


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

Flounder 24.11.2009 16:39

Цитата:

Сообщение от subzey (Сообщение 36118)
Flounder, извини меня, пожалуйста

Лишь карму изменив обратно в 0 мне
Прощения заслужишь ты тотчас...
А фичу, что ты выше изложил
Придумал то случайно уж не сам ли?
Респект тебе тогда и уважуха.

e1f 24.11.2009 18:08

Цитата:

Сообщение от Flounder (Сообщение 36014)
да опера вообще галимый недобраузер. Задрали её тупые глюки.

Да. Но пока в ФФ не сделают такой же кэш, как и в Опере -- я ее буду использовать :) (не говоря уже про то, чтобы писать под нее).

subzey 24.11.2009 18:31

«Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его Flounder.»
Уже трижды плюсанул других, все равно такая ерунда. Не забуду. Вечером пойду по форуму нести возмездие во имя луны творить добро во имя восстановления справедливости.

Фикс, да, самописный. Раз уж .style="text-indent: …" работает, грех этим не воспользоваться.

Вообще, при всей моей привязанности к Опере, мне начинает казаться, что суровые норверские девелоперы поторопились с релизом. Хотя, ходят слухи о том, что версии 10.2 не будет, а будет сразу 10.5, и это все может быть неспроста.

Upd: Вернул взад.


Часовой пояс GMT +3, время: 06:21.