2016-04-18 1 views
-2

ユーザーがcontentdit divにwordxの前に何かを入れると、新しいテキスト "soemthing"が存在するスパンに自動的にラップされなかったので、ユーザーがテキストを追加してスパンをどのスパンにバインドしたかをどのように知ることができますか?次の既存のスパンタグに新しく入力されたテキストをラップする方法

デモ:

<div id="inputbox" style="border:1px solid lightgrey" contenteditable="true"> 
    <span id="1">word1</span> <span id="2">word2</span> 
    <span id="3">word3</span> <span id="4">word4</span> <span id="5">word5</span> <span id="6">word6</span> <span id="7">word7</span> <span id="8">word8</span> <span id="9">word9</span> <span id="10">word10</span> <span id="11">word11</span> <span id="12">word12</span> 
</div> 
+1

あなたが必要なものをあなたの質問から明らかではありません。試したことを使ってデモを作成できますか? – AKS

+0

君は誰にもあなたの問題を伝えるのではなく、あなたが試したことを示すことができれば素晴らしいだろうと思う。あなたが助けられるかもしれません。 – Manish

+0

ありがとう、私はそれに取り組んで少しの手がかりを持っています。 – zoyb

答えて

0

私は今働いているあなたのためのソリューションを使用してコードを更新しました。スニペットやフィドルをここでチェックしてください:https://jsfiddle.net/4xcxLt34/2/

希望すると助かります!

$(document).ready(function(){ 
 
    $('span').on('DOMSubtreeModified', function() { 
 
    $('#result > p').text($(this).attr('id')); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="inputbox" style="border:1px solid lightgrey" contenteditable="true"> 
 
    <span id="1"> word1</span> 
 
    <span id="2"> word2</span> 
 
    <span id="3"> word3</span> 
 
    <span id="4"> word4</span> 
 
    <span id="5"> word5</span> 
 
    <span id="6"> word6</span> 
 
    <span id="7"> word7</span> 
 
    <span id="8"> word8</span> 
 
    <span id="9"> word9</span> 
 
    <span id="10"> word10</span> 
 
    <span id="11"> word11</span> 
 
    <span id="12"> word12</span> 
 
</div> 
 
<div id='result'> 
 
    <h3> 
 
    This is the span that is changed: 
 
    </h3> 
 
    <p> 
 

 
    </p> 
 
</div>

+0

ありがとうございましたが、実際には私の難しさは、ユーザーがどこにテキストを追加するかを検出する方法でした。ユーザーがテキストをbeofre word7、または8、または9などに追加した場合、どのスパンがjavascriptを使用しているかを検出するにはどうすればよいですか? – zoyb

+0

@zoyb私は自分のコードを編集していますので、テキストボックスに何かを書き込もうとすると、word7が変更され、あなたのもとでbinが影響を受ける魔女のスパンが見えます。 – Zorken17

+0

@ **単語の直前にあるテキストを置くと、影響を受けたスパンは検出できません。任意のアイデアをどのようにこれをハックする?たとえば、 "a" ** ** word8の直前に "aword8"を入力すると、DOMSubtreeModifiedはそれに影響するものを検出できません。 – zoyb

関連する問題