2

jQueryが部分的な要素(別名範囲)で動作することは可能ですか?おそらくそうではありませんが、誰かがプラグインを知っていますか?-または、そのようなプラグインを作成するために私と協力したい人はいますか?

基本的に、これは私が求めている機能です。

var $el = $('<div>a b c d</div>');

$el.range(2,3).wrap('<strong>');
console.log($el.html()); // a <strong>b</strong> c d

$el.range(4,5).addClass('super');
$el.range(4,5).addClass('awesome');
console.log($el.html()); // a <strong>b</strong> <span class="super awesome">c</span> d

$el.range(2,5).addClass('shweet');
console.log($el.html()); // a <span class="shweet"><strong>b</strong> <span class="super awesome">c</span></span> d

$el.range(2,5).start; // 2
$el.range(2,5).finish; // 5

$el.range(); // returns $el

$el.selection(); // returns the partial element (aka range) for the current selection
$el.selection(2,5); // would select 'b c', and return their partial element (aka range)

$el.currentLine(); // returns the partial element (aka range) for the current line

textareasでもまったく同じように機能するはずです。

回答は、coffeescriptまたはjavascriptのいずれかで指定できます。

変更ログ:

  • 追加した$el.selection()
  • 追加した$el.currentLine()
4

1 に答える 1

3

ここでプラグインを実行する試みがあります。唯一の問題は、.rangeHTMLへの最初の呼び出しが追加された後、次の呼び出しでは4から5までの文字が同じにならないことです。その問題を解決する方法をまだ探しています。

アップデート

プラグインをたくさん変更しました。今ではあまりきれいではありませんが、機能します。ここで動作するのを見てください。

すべての.spanAddedRangeは、元のhtmlで追加する必要があり、その瞬間にメソッドの呼び出しに使用される値がわからないため、本当に必要です.range

アップデート

HTML5Editプロジェクトのスライス機能が成功しました

于 2011-06-07T12:27:55.100 に答える