首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jeditable动态元素

jeditable动态元素
EN

Stack Overflow用户
提问于 2012-06-20 00:01:47
回答 1查看 1.6K关注 0票数 2

我正在使用Jeditable插件对列表进行就地编辑更改。这可以很好地处理页面上现有的列表项。

代码语言:javascript
复制
$('.edit').editable('http://localhost:8080/EditInPlace/Editable', {
    event     : "dblclick",
    callback : function(value, settings) {
        $(".dropdown dt a span").html(value);
        $("#result").html("Selected value is: " + getSelectedValue());
    }
});

但是,我在页面上动态添加列表项,这些列表项不会响应事件处理程序。我假设我需要使用委托事件,就像我在click事件中使用的一样。

代码语言:javascript
复制
$(document).on("click",".edit",function(e){
    alert("click!");
});

我不知道如何将Jeditable处理程序添加到委托事件中。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-20 00:18:46

委托方法适用于事件。你可以创建一个自定义事件,但是为了简单起见,每次添加需要的新元素时,只需调用你的插件即可。

这可以在ajax成功回调中实现,也可以在代码中调用任何插入方法(如append()html() )之后实现。

为了保持代码更精简,你可以做的几件事是将插件的options对象存储在一个变量中,这样你就不必每次都创建它们,或者创建包含大量插件调用的函数。

示例:

代码语言:javascript
复制
var edit={ 
       url: 'http://localhost:8080/EditInPlace/Editable',
       opts:{
            event     : "dblclick",
            callback : function(value, settings) {
                 $(".dropdown dt a span").html(value);
                $("#result").html("Selected value is: " + getSelectedValue());
        }
    }
};

$(selector).append( newContentString).find('.editClass').pluginName(edit.url, edit.opts)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11104901

复制
相关文章

相似问题

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