0

SQL データベースと Web サイトに新しい要素を作成するスクリプトを作成しました。投稿が良ければ、投稿のIDが返ってくるので、他のDIVと同じようにDIVボックスを作ることができます。

問題は、すべての DIV でテキストをインライン編集できますが、作成されたものではインライン編集できないことです。

ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        var moveit = $("<img>").attr({src: "icons/arrow_switch.png", class: "handle", alt: "move"});
        var editarea = $("<div>Ide írjon szöveget</div>").attr({class: "edit_area", id: ajaxRequest.responseText});
        $("<li></li>").attr({id: "listItem_"+ajaxRequest.responseText}).append(moveit).append(editarea).appendTo('#test-list');
    }

例: 元の DIV の 1 つ

<li id="listItem_84"><img alt="move" class="handle" src="icons/arrow_switch.png"><div id="84" class="edit_area">Ide írjon szöveget...</div></li>

JS が作成した DIV

<li id="listItem_88"><img src="icons/arrow_switch.png" class="handle" alt="move"><div class="edit_area" id="88">Ide írjon szöveget</div></li>

なぜ改行を編集できないのか本当にわかりませんか?! これに対する解決策を教えてください。

助けてくれてありがとう<3

4

1 に答える 1

1

呼び出しが行われたときにそこにあった要素でのみ editable を呼び出しましたが、新しい要素への ajax 関数の一部としてそれを装備することができます:

ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4){
    var moveit = $("<img>").attr({src: "icons/arrow_switch.png", class: "handle", alt: "move"});
    var editarea = $("<div>Ide írjon szöveget</div>")
                      .attr({class: "edit_area", id: ajaxRequest.responseText})
                      .editable(...same options here...);
    $("<li></li>").attr({id: "listItem_"+ajaxRequest.responseText})
      .append(moveit).append(editarea).appendTo('#test-list');
  }
}

.editable()ページがロードされたときに使用したのと同じオプションを呼び出しに入れるだけです。

于 2010-02-17T13:57:38.983 に答える