DOM中注入的contenteditable无法正常工作

保罗·正午

我创建了一个基于“ contenteditable =” true“的可编辑字段,并且效果很好,当用户单击div(模糊)时,内容将保存到数据库中。

但是,当我在第一个字段之后用Jquery注入另一个字段时,当用户单击div时,新字段不会将内容发送到数据库。

我在此代码段中重现了该问题(请参见控制台)。

有什么线索吗?

$(document).ready(function () {

    codetoinject = '<div contenteditable="true">Editable text 2</div>'


    $(document).on("click", "#abutton", function (event) {
        console.log("Ok");
        $('#receptionarea').append(codetoinject);   
    })
})


$('.editablediv').blur(function () {
       console.log("save content with Ajax");
       // Ajax code
});
#abutton {
  cursor: pointer;
  border: solid;
  width: 120px;
  border-radius: 5px;
  text-align: center;
  margin-bottom: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="abutton">
Click here
</div>

<div id="receptionarea">

<div class="editablediv" contenteditable="true">Editable text 1</div>

</div>

斯科特·马库斯(Scott Marcus)

.blur功能仅适用于具有editablediv类的元素,而您没有将其提供给动态添加的div另外,您将需要修改设置blur事件处理程序的方式,以将事件委托用于动态添加的元素。

另外,您可以click直接在按钮上设置事件处理程序。那里不需要使用事件委托。

$(document).ready(function () {
  $('#abutton').on("click", function (event) {
    $("#receptionarea").append('<div contenteditable="true" class="editablediv">Editable text 2</div>');   
  });
 
  // You must set up event delegation for dynamically
  // added elements to get hooked up to events.
  $("div").on("blur",'.editablediv', function () {
    console.log("save content with Ajax");
    // Ajax code
  });
});
#abutton {
  cursor: pointer;
  border: solid;
  width: 120px;
  border-radius: 5px;
  text-align: center;
  margin-bottom: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="abutton">Click here</div>

<div id="receptionarea">
  <div class="editablediv" contenteditable="true">Editable text 1</div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

DOM中注入的contenteditable无法正常工作

来自分类Dev

Contenteditable + JQuery无法正常工作

来自分类Dev

注入jQuery无法正常工作

来自分类Dev

在AndroidManifest中注册的BroadcastReceiver无法正常工作

来自分类Dev

在angular2中在ngModule提供程序中注入了服务,并尝试在无法正常工作的组件中使用

来自分类Dev

DOM onselect无法正常工作

来自分类Dev

依赖注入:Angular 2无法正常工作

来自分类Dev

JAVA中的DOM to XML无法正常工作

来自分类Dev

jQuery删除dom元素无法正常工作

来自分类Dev

DOM创建的删除按钮无法正常工作

来自分类Dev

JAVA中的DOM to XML无法正常工作

来自分类Dev

Dom 操作移除无法正常工作

来自分类Dev

无法在服务中注入actorSystem

来自分类Dev

使用Autofac 4.2.1注入注册的命名服务无法正常工作

来自分类Dev

iframe中的$ {document)对于注入的脚本无法正常工作

来自分类Dev

将属性注入python模块无法正常工作

来自分类Dev

刀片服务注入无法正常工作Laravel 5.1

来自分类Dev

Android使用Roboguice的Factory辅助注入无法正常工作

来自分类Dev

在注入的cshtml文件中出现角度,$ compile无法正常工作

来自分类Dev

使用javascript在DOM中注入DIV容器

来自分类Dev

DOM.style.display无法正常工作。无法隐藏div

来自分类Dev

Qt / QML-在C ++中注册QML类型会使QML代码无法正常工作

来自分类常见问题

Weblogic无法在静态字段中注入@PersistenceContext

来自分类Dev

无法在配置中注入我的提供程序

来自分类Dev

无法在控制器中注入服务

来自分类Dev

Angular,无法在父类中注入服务

来自分类Dev

无法在Spring的Junit测试中注入DAO

来自分类Dev

无法在HttpSessionListener中注入CDI @SessionScoped

来自分类Dev

无法在Angular JS中注入服务

Related 相关文章

  1. 1

    DOM中注入的contenteditable无法正常工作

  2. 2

    Contenteditable + JQuery无法正常工作

  3. 3

    注入jQuery无法正常工作

  4. 4

    在AndroidManifest中注册的BroadcastReceiver无法正常工作

  5. 5

    在angular2中在ngModule提供程序中注入了服务,并尝试在无法正常工作的组件中使用

  6. 6

    DOM onselect无法正常工作

  7. 7

    依赖注入:Angular 2无法正常工作

  8. 8

    JAVA中的DOM to XML无法正常工作

  9. 9

    jQuery删除dom元素无法正常工作

  10. 10

    DOM创建的删除按钮无法正常工作

  11. 11

    JAVA中的DOM to XML无法正常工作

  12. 12

    Dom 操作移除无法正常工作

  13. 13

    无法在服务中注入actorSystem

  14. 14

    使用Autofac 4.2.1注入注册的命名服务无法正常工作

  15. 15

    iframe中的$ {document)对于注入的脚本无法正常工作

  16. 16

    将属性注入python模块无法正常工作

  17. 17

    刀片服务注入无法正常工作Laravel 5.1

  18. 18

    Android使用Roboguice的Factory辅助注入无法正常工作

  19. 19

    在注入的cshtml文件中出现角度,$ compile无法正常工作

  20. 20

    使用javascript在DOM中注入DIV容器

  21. 21

    DOM.style.display无法正常工作。无法隐藏div

  22. 22

    Qt / QML-在C ++中注册QML类型会使QML代码无法正常工作

  23. 23

    Weblogic无法在静态字段中注入@PersistenceContext

  24. 24

    无法在配置中注入我的提供程序

  25. 25

    无法在控制器中注入服务

  26. 26

    Angular,无法在父类中注入服务

  27. 27

    无法在Spring的Junit测试中注入DAO

  28. 28

    无法在HttpSessionListener中注入CDI @SessionScoped

  29. 29

    无法在Angular JS中注入服务

热门标签

归档