JQTransform - исключить элемент из стиля? - PullRequest
6 голосов
/ 16 сентября 2010

Я использую JQTransform для стилизации всех элементов формы.Можно ли отключить стилизацию для определенного элемента, оставив все остальные стили в JQTransform?

Ответы [ 8 ]

9 голосов
/ 03 марта 2011

Я добавил if( $input.hasClass('ignore') == true ) { return; } в строку 99 плагина, чтобы игнорировать любые текстовые поля с class = ignore.Может быть, это поможет вам.

4 голосов
/ 24 сентября 2012

Используйте класс jqtransformdone.Он встроен в плагин.

3 голосов
/ 31 января 2012

есть новая библиотека, которую я создал - csTransPie - на ее основе jqtransform - jqtransform - отличная библиотека, но у нее действительно много проблем, сегодня css3 решает многие из этих проблем, и мне нравится идея, что элементы управления являются обычными элементами управления и выглядятто же самое в каждом браузере

https://github.com/pkoretic/csTransPie

Это работа, но даже сейчас она лучше, чем jqtransform (более половины кода переписано, много ошибок решено, чистая css ...), вы должны признать это ...

Просто используйте класс .transpie для нужного элемента!

3 голосов
/ 25 апреля 2011

Я подтверждаю, что решение Мэттби сработало для меня в качестве ответа от участника, разместившего вопрос. В соответствии с инструкциями я вставил код в строку 99 над следующей строкой:

if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}

Кому-то, кому это не очевидно, вставьте код ВЫШЕ строка 99 вместо ЗАМЕНА строка 99 следующим образом:

/*Custom code: Regarding class for elements exceptional to transformation.*/  
/*Custom code: /2791012/jqtransform-isklychit-element-iz-stilya*/
if( $input.hasClass('ignore') == true ) { return; } 
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}

Я не видел возможности прокомментировать ответ Мэтти, поэтому отправил его в виде ответа.

РЕДАКТИРОВАТЬ: Приведенный выше код предложит jqTransform пропустить / исключить / игнорировать / избежать элементов ввода. В моем случае я использовал это, чтобы исключить type = "text" и type = "image". Однако применение класса .ignore к моему элементу textarea действительно исключило нежелательное преобразование, но по какой-то причине дополнительно исключило преобразование моих элементов select. Обратите внимание, что редактирование jquery.jqtransfrom.js для текстовой области было выполнено в функции textarea, начиная со строки 201 исходного неотредактированного документа, а не в функции для текстовых полей, начинающихся со строки 95 в приведенном выше блоке кода. *

Вот пример того, что я пытался (помещено НАД строка 207):

if( $textarea.hasClass('ignore') == true ) { return; }

Повторюсь, это работало, но также исключало преобразование моих блоков выбора, что не было моим намерением.

После поиска решений я наткнулся на следующее сообщение в блоге: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together

По сути, таблица, которую jqTransform создает для замены элементов текстовой области, заменяется текстовой областью или, проще говоря, она отменяет преобразование:

<!--Undo textarea transformation.-->
<!--Source: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together.-->
<script language="javascript">
jQuery(function(){
jQuery("form.transform table").replaceWith('<textarea></textarea>');
});
</script>

Для новичков в jQuery приведенный выше код должен быть помещен вместе с заголовком вашего документа (т.е. между <head> и </head>).

1 голос
/ 19 октября 2011

Или вы можете просто добавить jqtranformdone класс к вашему входу:)

0 голосов
/ 12 февраля 2013

Вы можете просто добавить класс "jqtransformdone" к элементу, вы хотите пропустить стилизацию. Надеюсь, это поможет кому-то еще.

0 голосов
/ 25 августа 2012

Здесь моя версия (Версия 1.1 06.08.09) для пропуска ввода: отредактируйте это в jquery.jqtransform.js в строке 497

  $('input:submit:not(.hidden), input:reset:not(.hidden), input[type="button"]:not(.hidden)', this).jqTransInputButton();
  $('input:text:not(.hidden), input:password:not(.hidden), input[type="email"]:not(.hidden)', this).jqTransInputText();
  $('input:checkbox:not(.hidden)', this).jqTransCheckBox();
  $('input:radio:not(.hidden)', this).jqTransRadio();
  $('textarea:not(.hidden)', this).jqTransTextarea();
  $('select:not(.hidden)', this).jqTransSelect()
0 голосов
/ 03 мая 2012

Я знаю, что это очень старая тема, но я должен сказать, что она более подходит, если вы добавите дополнительный класс к своей обычной форме, и он не будет преобразован.Для ввода текста и текстовой области добавьте класс 'jqtranformdone', и он будет возвращен без преобразования.Для флажков, переключателей и переключателей используется класс 'jqTransformHidden'.

...