0

我写了一个脚本,为我的 SQL 数据库和我的网站创建一个新元素。如果帖子好,我会取回帖子的ID,这样我就可以像其他DIV一样制作一个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 之一

<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 回答