首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在jQuery中将可编辑字段添加到委托

在jQuery中将可编辑字段添加到委托
EN

Stack Overflow用户
提问于 2011-01-17 06:52:41
回答 2查看 1.2K关注 0票数 4

如何在jQuery中将以下代码与委托结合使用?

我在所有可编辑元素周围都有一个#commentContainer,并且我动态地添加了可编辑字段(Jeditable)。编辑功能不适用于动态加载的项目。

代码语言:javascript
代码运行次数:0
运行
复制
     /* Bind Jeditable instances to "edit" event. */
    $(".edit").editable('/Comment/PostComment/', {
        type: 'textarea',
        cancel: 'Cancel',
        submit: 'OK',
        indicator: '<img src="img/indicator.gif">',
        tooltip: 'Click to edit...',
        event: "edit"
    });
    /* Find and trigger "edit" event on correct Jeditable instance. */
    $(".edit_trigger").bind("click", function () {
        $(this).prev().trigger("edit");
    });
EN

回答 2

Stack Overflow用户

发布于 2011-01-17 07:02:24

当一个元素被添加到DOM中时,事件委托不适用于运行的代码。一些浏览器事件需要首先发生,比如点击。

因此,如果您添加的新元素应该运行editable插件,则需要在添加它们时手动调用它。

代码语言:javascript
代码运行次数:0
运行
复制
$('<textarea>').editable( /* settings */ )
               .appendTo( '#commentContainer' );
票数 2
EN

Stack Overflow用户

发布于 2012-10-11 22:49:10

对于动态添加的字段,有一个解决方案是添加jQuery.editable。

代码语言:javascript
代码运行次数:0
运行
复制
$("body").on("click",".editable",function(e){

  // Add editable plugin
  // but! for `focus` instead common `clik` event

  $(this).editable('go.to',
    {
      event : 'focus.editable',
      ..
      ..

     // Then trigger focus event

   }).trigger("focus");
 })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4708647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档