0

問題は、x-editable をトリガーしてテキストエリアに変換するネイティブの「クリック時」イベントを無効にできないことです。ボタンだけがテキストをテキストエリアに変換できるようにしたいので、テキストをクリックできなくなります。

他の要素のクリックで 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/

では、テキストエリアでネイティブの「クリック」イベントを無効にし、「EDIT TEXT」ボタンのみにトリガーを残す方法は?

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 に答える