点击时可以进行X-editable切换。如何禁用本机元素单击?

时间:2014-01-23 12:45:43

标签: javascript jquery twitter-bootstrap x-editable

问题是无法禁用触发x-editable转换为textarea的本地“on click”事件。我希望只有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上禁用本机“click”事件,并仅在“EDIT TEXT”按钮上保留触发器?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

在版本1.5.1中,您可以设置带有“手动”值的“切换”选项

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

执行此操作具有在可编辑字段中删除虚线下划线装饰的良好副作用。

来源official x-editable docs