0

问题是无法禁用触发 x-editable 转换为 textarea 的本机“点击”事件。我希望只有 Button 可以将文本转换为 textarea,因此文本上的文本是不可点击的。

我发现了如何在其他元素单击时触发 x-editable 的问题。但是如何禁用原生文本点击并只留下其他元素的事件?

摆弄问题在这里:

这部分效果很好:

$('.edit-post-button').on('click', function(e) {
    e.preventDefault();
    e.stopPropagation();
    $textarea = $(this).closest('.media-body').find('.editable');
    $textarea.editable('toggle');        
});

但是当试图禁用原生文本点击时,它不会工作,或者我在这里做错了什么?

$('.editable-post-textarea').on('click', function(e) {
    console.log('native-click-triggered!');
    e.stopPropagation();
});

这是我的问题的示例:http: //jsfiddle.net/jjdJX/64/

那么如何在 textarea 上禁用本机“点击”事件,并仅在“编辑文本”按钮上保留触发器?

4

2 回答 2

2

在 1.5.1 版中,您可以使用“手动”值设置“切换”选项

$('.editable').editable({
  toggle: 'manual'
});

这样做有一个很好的副作用,即删除可编辑字段中的下划线装饰。

官方 x-editable 文档

于 2014-06-29T13:36:53.433 回答
2

使用以下方法禁用元素的点击事件:

$('.editable-post-textarea').off('click');

小提琴:http: //jsfiddle.net/jjdJX/65/

于 2014-01-23T12:50:36.837 回答