0

我可以设置就地编辑器没问题,一切都很好,但是一旦它附加到一个字段,我还没有找到一种方法来删除它,有人知道怎么做吗?

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

4

1 回答 1

2

我想你的意思是你想禁用就地编辑器。

我从未使用过此插件,但我在网站上没有看到任何代码示例导致您相信您要求的行为已实现。

如果不是,也许您可​​以使用旧的 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 将代替您的元素捕获点击事件,并且就地编辑器将永远不会打开。

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

编辑:

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

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

傻我。

于 2009-03-15T04:01:20.907 回答