2017-12-23 13 views
0

contenteditable="true"という属性のh2タグがあります。目指すのは、contenteditable="false"と、h2のテキストをそれに割り当てるキャンセルボタンです。h2は、最後の編集をクリアし、contenteditable"false"に設定します。 私のcodepenはhttps://codepen.io/utkapodsousom/pen/dJOMaB です。これらのボタンをバブルや再帰なしで動作させる方法を理解できません。「適用」ボタンと「キャンセル」ボタンを含む編集可能なフィールド

+0

私は自分のコードを見て、ボタンがなく、「ぼかし」と「フォーカス」イベントのみで動作するようにしています。私たちが助けてくれるように、もう少し要件を明確にしてください。私は、ボタンを使って作業サンプルを持っていますが、それがあなたが望むものかどうかはわかりません! –

+0

ボタンは、フィールドが編集可能な場合にのみ表示されます。 「はい」は「適用」を表し、「いいえ」はそれに応じて「取り消し」を表します。 'blur'イベントと 'focus'イベントは、編集可能フィールドをフィールドの外側をクリックして編集不可能にするためのものです。しかし、ボタンもそこにあるはずです。私は ':: before'と' :: after'を '[contenteditable =" true "]'セレクタに追加することでそれらを作ったが、もっと良い解決法があるかもしれない。 –

答えて

0

too much recursionの問題への答えは、このコードでは、.focusを2度書いて関数を呼び出すということです。

$('.editable').on('click focus', function(e) { 
    $(this).attr('contenteditable', 'true'); 
    $(this).focus(); 
    e.stopPropagation(); 
}); 
関連する問題