现在我正在使用Jeditable来实现就地编辑功能。Jeditable 有一些不错的选项,但是(据我所知),它不允许您触发编辑,除非单击相关元素。
即,假设我的元素有 id comment
。使用 Jeditable,开始编辑的唯一方法是单击comment
。我想在旁边放一些小文本comment
(例如,“单击以编辑您的评论”),单击时将comment
变成可编辑的文本字段(并设置保存和取消按钮等)。
现在我正在使用Jeditable来实现就地编辑功能。Jeditable 有一些不错的选项,但是(据我所知),它不允许您触发编辑,除非单击相关元素。
即,假设我的元素有 id comment
。使用 Jeditable,开始编辑的唯一方法是单击comment
。我想在旁边放一些小文本comment
(例如,“单击以编辑您的评论”),单击时将comment
变成可编辑的文本字段(并设置保存和取消按钮等)。
好吧,我破案了。在这篇博文中,作者写道
您现在可以使用任何自定义事件来触发 Jeditable。
$(".editable").editable("http://www.example.com/save.php", { event : "make_editable" });
所以我做了这个然后做了:
$("#id-for-text").click(function() {
$("#comment").trigger('make_editable');
});
根据您上面的评论,您可以这样做:
var editFn = (function(){ return $('#comment').click; })();
$('#id-for-text').click(editFn);
$('#comment').unbind('click');
这告诉标签点击事件应该和评论点击事件一样,然后解绑评论上的事件。
不确定 unbind 是否会破坏对 editFn 的引用,因此包含了闭包。