さてあなたのタグのスタイルを設定でき、CodeMirrorの豊富な機能を使用して単一行エディタを作るための方法があります。 まず、フル機能のCodeMirrorオブジェクトを追加する必要があります(テキストエリアを使用します)。
var cm = CodeMirror(...)
とします。 (value: ""
を使用)。 はその後
cm.setSize(200, cm.defaultTextHeight() + 2 * 4);
// 200 is the preferable width of text field in pixels,
// 4 is default CM padding (which depends on the theme you're using)
// now disallow adding newlines in the following simple way
cm.on("beforeChange", function(instance, change) {
var newtext = change.text.join("").replace(/\n/g, ""); // remove ALL \n !
change.update(change.from, change.to, [newtext]);
return true;
});
// and then hide ugly horizontal scrollbar
cm.on("change", function(instance, change) {
$(".CodeMirror-hscrollbar").css('display', 'none');
// (!) this code is using jQuery and the selector is quite imperfect if
// you're using more than one CodeMirror on your page. you're free to
// change it appealing to your page structure.
});
// the following line fixes a bug I've encountered in CodeMirror 3.1
$(".CodeMirror-scroll").css('overflow', 'hidden');
// jQuery again! be careful with selector or move this to .css file
これは私のためだけで正常に動作しません。
CodeMirrorはブラウザ内のコード編集ツールではありませんか?あなたの入力フィールドにコードエディタがどのように必要かわかりません。 「カラフル」って何を意味しますか? – nimrod
@nimod:シンタックスハイライト私は推測します。 –
テキストエリアを使用し、その高さを1行に設定できます。それは私にとって「大丈夫」なアプローチのようです。それは確かに悪くないし、あなた自身で何かを構築することはおそらくより困難です。しかし、正しいパーサーが正しく強調表示されるように、言語パーサを作成する必要があります。 –