2015-01-19 2 views
1

Я читал в нескольких местах, что jquery 1.6 и далее применяют префиксы поставщика автоматически при использовании метода css(). Я использую JQuery 1.11.1, и, похоже, этого не делают.jquery css() префиксы автоматического поставщика не работают?

Если я называю:

$(div).css({transform:"scale(2)"}); 

и проверить стиль инспектора Инструментов разработчика Chrome, он точно показывает, что: "преобразования: масштаб (2);" Отсутствие префиксов поставщиков.

Почему это, и я должен добавить различные префиксы поставщика самостоятельно?

+1

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

+0

Chrome больше не использует префикс поставщика для 'transform', так что вы ожидаете здесь, я не понимаю? Вопрос в том, работает ли на хроме или нет? Кажется, легко проверить –

+1

Я попробовал его в firefox и Internet explorer и не добавил ни одного префикса. Я думаю, что более новые версии больше не используют префиксы, но не все будут иметь последнее обновление, хотя все же важно, чтобы я знал, что он работает правильно. – hedgehog90

ответ

4

jQuery добавит префикс для вас, но только если браузер действительно требует его. Chrome не нуждался в префиксах при преобразованиях for a while (точнее, версии 36), поэтому jQuery не беспокоит.

Эта проверка производится в line 6436:

function vendorPropName(style, name) { 

    // shortcut for names that are not vendor prefixed 
    if (name in style) { 
     return name; 
    } 

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