X – 可编辑输入在单击其他元素时可编辑

我有一个x-editable输入,我用它来编辑用户名。 元素的默认操作是单击自身时,可以编辑值。 但是我想启用点击元素的.editable并能够编辑输入中的值。 缩短这里的东西是我目前情况的一个方面。

jQuery的:

$(function(){ $.fn.editable.defaults.mode = 'inline'; $('#publicname-change').editable({ type: 'text', url: '/post', pk: 1, placement: 'top', title: 'Enter public name' } ); //ajax emulation. Type "err" to see error message $.mockjax({ url: '/post', responseTime: 100, response: function(settings) { if(settings.data.value == 'err') { this.status = 500; this.responseText = 'Validation error!'; } else { this.responseText = ''; } } }); 

HTML:

 
Mr. Doe
edit

如果有人可以按照我描述的方式帮助我并编辑链接的jsfiddle ,那将是很好的。 点击.edit,可以编辑值。

它有一个名为enable的函数,您可以使用它来启用编辑

 $('.edit').click(function(e){ e.stopPropagation(); $('#publicname-change').editable('toggle'); }); 

如果您不添加第一行,这将无效,因为默认行为是在单击任何其他元素时禁用编辑。

编辑:

要仅在单击编辑按钮而不是文本时启用编辑,请将toggle属性设置为manual

 $('#publicname-change').editable({ type: 'text', url: '/post', pk: 1, placement: 'top', title: 'Enter public name', toggle:'manual' } 

的jsfiddle