如何从字段中删除“另一个就地编辑器”(jQuery inplace.js插件)

时间:2009-03-14 19:35:04

标签: jquery jquery-plugins edit-in-place

我能够设置内置编辑器没有问题,一切都很好,但是一旦它被附加到一个字段,我还没有找到删除它的方法,任何人都知道怎么做?

我在这里谈论这个插件:http://www.davehauenstein.com/code/jquery-edit-in-place/

1 个答案:

答案 0 :(得分:2)

我想你的意思是你要禁用inplace编辑器。

我从未使用过这个插件,但我发现网站上没有任何代码示例可以让您相信您所要求的行为已经实现。

如果不是,也许你可以使用好的旧div缓存技巧:

$.fn.disableWithADiv() {
    var element = $(this);
    var pos = element.offset();
    $("body").append($("<div />").css({
        "position": "absolute",
        "z-index": 1000,
        "left": pos.left+"px",
        "top": pos.top+"px",
        "width": element.width(),
        "height": element.height(),
        "display": "block"
    }).attr("id",element.attr("id")+"-div-disabler"));
}

$.fn.removeDivDisabler() {
    var element = $(this);
    $("#"+element.attr("id")+"-div-disabler").remove();
}

然后使用

$("#yourElement").disableWithADiv();   // To disable
$("#yourElement").removeDivDisabler(); // To re-enable

如果一切按计划进行,div将代替您的元素捕获click事件,而inplace编辑器将永远不会打开。

这是我的头脑,不确定那里没有错字或主要的逻辑缺陷;)

编辑:

嗯,有一个问题......两个函数的主体应该被封装到这个结构中:

return this.each(function() {
    // Body here
});

傻傻的我。