From c8c1ff465afcd3169a8f65d1c377eb3a9f38fc18 Mon Sep 17 00:00:00 2001 From: Laurent Perrin Date: Tue, 16 Sep 2014 12:07:25 -1000 Subject: [PATCH] Also rerender when stripping trailing br. The current code does not rerender in this case. Because of that, you can leave trailing
in the DOM (even if the ng-model is clean). This is a problem for me since I rely on the contenteditable being empty to display the placeholder: ```css [contenteditable]:empty::before { content: attr(placeholder); } ``` --- angular-contenteditable.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/angular-contenteditable.js b/angular-contenteditable.js index 0b3ce9a..76b8f02 100644 --- a/angular-contenteditable.js +++ b/angular-contenteditable.js @@ -33,7 +33,11 @@ angular.module('contenteditable', []) html = element.html() rerender = false if (opts.stripBr) { - html = html.replace(/
$/, '') + html2 = html.replace(/
$/, '') + if (html2 !== html) { + rerender = true + html = html2 + } } if (opts.noLineBreaks) { html2 = html.replace(/
/g, '').replace(/
/g, '').replace(/<\/div>/g, '')