jQuery编辑就地插件,允许您从另一个元素触发编辑

时间:2009-08-24 04:52:32

标签: jquery edit-in-place

现在我正在使用Jeditable进行就地编辑功能。 Jeditable有一些很好的选择,但(据我所知),除了点击相关元素外,它不允许你触发编辑。

即,假设我的元素有id comment。使用Jeditable,开始编辑的唯一方法是单击comment。我想要的是在comment旁边添加一些小文字(例如,“点击编辑你的评论”),点击后,将comment转换为可编辑的文本字段(并设置)保存和取消按钮等)。

3 个答案:

答案 0 :(得分:5)

好的,我破了这个案子。在this blog post中,作者写了

  

您现在可以使用任何自定义事件   触发Jeditable。

$(".editable").editable("http://www.example.com/save.php", { 
   event     : "make_editable" 
});

所以我这样做然后做了:

  $("#id-for-text").click(function() {
    $("#comment").trigger('make_editable');
  });

答案 1 :(得分:1)

查看jQuery的trigger方法。

使用以下代码:

$('#id-for-text').click(function(){
  $('#comment').trigger('click');
});

答案 2 :(得分:1)

根据您的上述评论,您可以这样做:

var editFn = (function(){ return $('#comment').click; })();
$('#id-for-text').click(editFn);
$('#comment').unbind('click');

这告诉标签click事件应该与注释click事件相同,然后在注释上取消绑定事件。

不确定unbind是否会破坏对editFn的引用,因此包含了闭包。