2011-01-16 12 views
0

オンラインソースコードエディタを構築していて、スニペット、jQueryプラグインを使って強調表示しています。ですから、私はtextareaとpre要素を持っています。ここでは、各キーアップでpreにtextareaの値をコピーします...だから、私は関数.snippet()、document.ready()、そして各キーアップで構文のハイライトを作成します。しかし、私はそれが同じ要素に対して複数回呼び出されるとうまくいかないことに気付きました。ここに私のコードを確認してください:http://jsfiddle.net/parisk/YkNMh/。 (これは、document.ready()で一度呼び出されたキーアップ原因では機能しません。ドキュメントの呼び出しを無効にすると、最初のキーアップでのみ動作します)...そして、私は本当に解決したいと思いますこの問題。ご協力いただきありがとうございます!"Snippet" jQueryプラグインを同じ要素に対して2回呼び出すことはできません

答えて

0

スニペットプラグインは、pre要素を<div>にラップし、選択したコードスタイルに応じてクラスも追加します。

明らかに、要素がすでにsnippet 'であるかどうかを確認するためにそれらを使用します。

あなたはそれらの変更を元に戻す必要があるでしょうし、あなたのケースで簡単な解決策はhttp://jsfiddle.net/gaby/Kpphx/

+0

オリジナルのものが間違ったもの(*ブラッシュ*)だったので、例へのリンクを変更しました。 –

+0

それは世界:)ありがとうございます – Paris

0

$('pre').snippet("c",{style:"the",showNum:true}); 

$('pre').removeClass().unwrap().snippet("c",{style:"the",showNum:true}); 

に例を変更することです私は同じ問題を抱えて、 try catchのエラーは:TypeError:$ .browserは未定義です。だから、JQueryを読んだ後、$ .browserはJQuery 1.9で削除されています。お使いのjQueryのリンクの後にこれを追加する修正するには

(プラグインを移行):解決

<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script> 

問題は、これは誰かに役立ちます願っています!

関連する問題