2016-04-14 2 views
0

Есть ли исправление, позволяющее autocapitalize='off' на contenteditable divs вместо использования полей ввода?Форсировать содержимое нижнего регистра/HTML контента, пригодного для контента div

Я пробовал это в Javascript с атрибутами и заклинаниями, но ничего не исправляет мою проблему. Если я применяю правило, такое как text-transform: lowercase, это сделает текст, который вы вводите в нижнем регистре, но фактическое значение HTML по-прежнему занимает верхний регистр (если применимо).

Как я могу обеспечить, чтобы все было в нижнем регистре?

+1

использование 'текста tranform: lowercase' –

+1

@GauravAggarwal да, но * значение * (эээ содержание HTML) этого элемента DIV будет по-прежнему * капитализируются * –

+0

знак использование CSS, как важный' text- tranform: lowercase! important' –

ответ

0

На contenteditable blur или focusout вы могли бы заменить содержимое в нижний регистр:

var editable = document.querySelectorAll('[contenteditable]'); 
 

 
function toLower(){ 
 
    this.innerHTML = this.innerHTML.toLowerCase(); 
 
} 
 

 
[].forEach.call(editable, function(el){ 
 
    el.addEventListener("focusout", toLower); 
 
});
<div contenteditable>THis is some Sample Capital Text</div>

0

Проверить text-transform.

div { 
 
    text-transform: none; 
 
}
<div contenteditable>here is the text</div>

+0

с использованием стилей CSS не изменяет фактический контент/значение элемента. –

+0

вот пример http://jsbin.com/semiqap/1/edit?html,css,output –

0

Вот решение -

Используйте CSS, чтобы ослепить эффект JS для USER-

*[contenteditable]{ 
    text-transform:lowercase; 
} 

Затем

  1. С Native JS-

    JS-

    function changeCase(id){ 
        var txt = document.getElementById(id); 
        txt.innerText = txt.innerText.toLowerCase() 
    } 
    

    HTML-

    <div contenteditable onBlur="changeCase('myId')" id="myId">This is Camelcase Text. Type something on me to see effects</div> 
    
  2. С Jquery-

    JS-

    $('[contenteditable]').on('blur',function(e){ 
        $(this).text($(this).text().toLowerCase()); 
    }); 
    

    HTML-

    <div contenteditable>This is Camelcase Text. Type something on me to see effects</div> 
    
+0

Этот вопрос ** не помечен jQuery **. * «использование родного javascrpt» * кажется таким странным в вашем ответе. Также код, который вы указали, не имеет никакого смысла; вы бы использовали его в производственной среде?(Чтобы уточнить, как только вы начнете печатать ... ** что происходит с кареткой? **) –

+0

Надеюсь, что это исправить проблему в обоих направлениях;) –

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