ошибка CSS jQuery в IE8

var names = new Dictionary<int, string> {
  { 1, "Adam" },
  { 2, "Bart" },
  { 3, "Charlie" }
};
9
задан Elzo Valugi 14 September 2009 в 11:04
поделиться

4 ответа

этот должен помочь.

он ссылается на jquery ticket 2462 , что также интересно

Edit первая ссылка не работает, На помощь приходит обратная машина .

И на тот случай, если archive.org когда-нибудь запакует, вот содержание сообщения в блоге о декстрозе.

jQuery (по крайней мере, до версии 1.2.6) имеет проблемы с Интернетом Проводник при запросе фоновой позиции объекта.

 $ ('h1: first'). Css ('background-position');

В других браузерах уровня A вы получаете 2 значения (в пикселях или%). представляющие соответственно x-позицию и y-позицию элемент. В Internet Explorer (6 и 7) вы получите undefined. Эта проблема в том, что IE не знает, что такое background-position, он знает только 2 другие вызовы: background-position-x и background-position-y. Вот это фрагмент кода JavaScript для решения этой проблемы.

 (function ($) {
 jQuery.fn.backgroundPosition = function () {
 var p = $ (this) .css ('background-position');
 если (typeof (p) === 'undefined') 
 вернуть $ (это) .css ('background-position-x') 
 + '' + $ (это) .css ('background-position-y');
 иначе верните p;
 };
}) (jQuery);

Теперь вы можете использовать этот плагин jQuery для получения фоновой позиции элемент:

 $ ('h1: first'). backgroundPosition ();
8
ответ дан 4 December 2019 в 14:29
поделиться

Я никогда не пробовал этого, но обнаружил, что, запрашивая позиции по отдельности, вы получаете результат, так что:

alert(el.css("background-position-y")); //get the y value
alert(el.css("background-position-x")); //get the x value

тогда вы можете объединить их:)

4
ответ дан 4 December 2019 в 14:29
поделиться

Я, наконец, проанализирую их из:

alert(el.attr('style')); // this seems to work in all browsers
1
ответ дан 4 December 2019 в 14:29
поделиться

Если вы предупредите свойство background, то вы также получите позицию. Очень плохой обходной путь, но первое, что я мог придумать ...

alert(el.css("background")); //url(some/url/to/image.jpg) no-repeat 10px 10px

И тогда вам нужно будет просто вывести числовые значения, за которыми следует "px"

1
ответ дан 4 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: