6

JQTransform を使用して、すべてのフォーム要素のスタイルを設定しています。特定の要素のスタイル設定を無効にして、他のすべての要素を JQTransform でスタイル設定したままにすることはできますか?

4

8 に答える 8

9

if( $input.hasClass('ignore') == true ) { return; }プラグインの 99 行目に、class=ignore のテキスト フィールドを無視するように追加しました。多分これはあなたを助けるでしょう。

于 2011-03-03T16:22:52.797 に答える
4

クラスを使用しjqtransformdoneます。プラグインに組み込まれています。

于 2012-09-23T23:36:40.883 に答える
3

私は、質問を投稿したメンバーからの応答のレイウで、マットビーの解決策が私のために働いたことを確認しています. 指示に従って、99 行目の次の行の上にコードを貼り付けました。

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

明らかでない人には、次のように99行を置換するのではなく、99行の上にコードを貼り付けます

/*Custom code: Regarding class for elements exceptional to transformation.*/  
/*Custom code: http://stackoverflow.com/questions/3727517/jqtransform-exclude-an-element-from-styling*/
if( $input.hasClass('ignore') == true ) { return; } 
if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}

mattbee の回答にコメントするオプションが表示されなかったので、回答の形式で送信しました。

編集: 上記のコードは、入力要素をスキップ/除外/無視/回避するよう jqTransform に促します。私の場合、type="text" と type="image" を除外するために使用しました。ただし、 textarea 要素に .ignore クラスを適用すると、実際には望ましくない変換が除外されましたが、何らかの理由で選択要素の変換がさらに除外されました。テキスト領域の jquery.jqtransfrom.js への編集は、上記のコード ブロックの 95 行目から始まるテキスト フィールドの関数ではなく、元の未編集ドキュメントの 201 行目から始まる textarea 関数内で行われたことに注意してください。

これが私が試みたものの例です(207行目の上に配置

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

繰り返しますが、それは機能しましたが、意図していなかった選択ボックスの変換も除外されました。

解決策を検索した後、次のブログ投稿に出くわしました: http://www.deliciouscoding.com/post.cfm?entry=use-jqtransform-and-tinymce-together

基本的に、jqTransform が textarea 要素を置き換えるために作成するテーブルは、textarea に置き換えられるか、より簡単に言えば、変換を元に戻します。

<!--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>) に配置します。

于 2011-04-25T18:02:38.443 に答える
3

私が作成した新しいライブラリがあります - csTransPie - jqtransform に基づいています - jqtransform は素晴らしいライブラリですが、実際には多くの問題があります。今日、css3 はそれらの問題の多くを解決し、コントロールが通常のコントロールであり、同じように見えるという考えが好きですすべてのブラウザ

https://github.com/pkoretic/csTransPie

これは進行中の作業ですが、現在でも jqtransform よりも優れています (コードの半分以上が書き直され、多くのバグが解決され、CSS がきれいになっています...)、それを認めなければなりません...

必要な要素で .transpie クラスを使用するだけです!

于 2012-01-31T12:37:18.587 に答える
1

または、単純にjqtranformdoneクラスを入力に追加することもできます:)

于 2011-10-19T12:12:06.993 に答える
0

ここで入力をスキップする私のバージョン (バージョン 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()
于 2012-08-25T12:30:27.477 に答える
0

「jqtransformdone」クラスを要素に追加するだけで、スタイリングをスキップできます。うまくいけば、それは他の誰かを助けるでしょう。

于 2013-02-12T11:43:20.780 に答える
-1

これが非常に古いトピックであることは承知していますが、通常のフォームに余分なクラスを追加すると、変換されない場合に適していると言わざるを得ません。入力テキストとテキストエリアについては、「jqtranformdone」クラスを追加すると、変換なしで返されます。チェックボックス、ラジオ ボタン、選択には「jqTransformHidden」クラスを使用します。

于 2012-05-03T11:26:49.053 に答える