2011-02-02 2 views

ответ

6

$("div[contentEditable]").blur() чтобы размыть все содержимое.

$("#elementId").blur() чтобы размыть элемент по его id.

+0

Я думаю, что технически это должно быть * $ ('div [contentEditable = "true"]'). Blur() * – KOGI

+0

'div [contentEditable]' проверяет наличие атрибута contentEditable, 'div [contentEditable = "true"] 'проверяет, установлен ли для этого атрибута значение true. Либо будет работать в большинстве случаев. Вы должны были бы быть явным, если бы явным образом устанавливал contentEditable для другого значения, чтобы отключить его. –

+1

'div [contentEditable! =" False "]' вероятно, будет вашим лучшим выбором для простоты. – zzzzBov

3

Предлагаемое решение Roman Resh не работает, когда вы нажимаете на элемент и сразу же вводите его. Он не будет размываться, но создает разрывы строк/div.

Этого можно полностью предотвратить.

See this fiddle

$('<div class="temp-contenteditable-el" contenteditable="true"></div>') .appendTo('body').focus().remove();

34

Я хотел бы добавить еще одно решение, основанное на ответ OMNICON, который является правильным BTW. У меня есть forked his fiddle and updated it.

Хитрость заключается в том, чтобы удалить все диапазоны после вызова размытости:

$(".editable").blur(); 
window.getSelection().removeAllRanges(); 
+0

Это сработало для меня, спасибо. Omnicon не работал для меня, отчасти потому, что он прокручивал весь документ на дно при вызове. – MSC

+0

RemoveAllRanges() работает очень хорошо, ранее я использовал ony $ (". Editable"). Blur(); и элемент contentEditable по-прежнему не избавится от выбора. Благодаря! –

+0

Спасибо за решение! 'window.getSelection(). removeAllRanges();' трюк - без него редактируемый div все еще активен, а следующий 'e.codeKey == 13' возвращается при добавлении новой строки. –

0

прилагая для ответов на все вопросы, когда, используя нечто вроде

$(".editable").blur() 

думать о размытости только сосредоточенным, как

$(".editable:focus").blur() 

Если нет, вы можете попасть в хорошие проблемы иногда

Смежные вопросы