предотвращение contenteditable добавления div при вводе с использованием pure javascript NOT jQuery - PullRequest
0 голосов
/ 13 февраля 2020

не допустить contenteditable добавления div при входе, используя pure javascript NOT jQuery

как в этом примере http://jsfiddle.net/uff3M/

но мне нужно это в javascript не jQuery

Я решил свою проблему Спасибо всем

function enterToBr(e){
    var evt = e || window.event;
    var keyCode = evt.charCode || evt.keyCode;
    if(keyCode==13){
            document.execCommand('insertHTML', false, '<br>');
            return false;
    }
}
div{
    border:1px black solid;
    padding:10px;
}
<div contenteditable="true" id="container" onkeydown="enterToBr()">
When Enter it's create new div inside container , but I need when user press enter key create new br not new div
</div>

Ответы [ 3 ]

0 голосов
/ 13 февраля 2020

Вы также можете сделать это CSS.

Добавить display: inline-block; к вашему div:

div{
    display: inline-block;
}
0 голосов
/ 13 февраля 2020

function enterToBr(e){
    var evt = e || window.event;
    var keyCode = evt.charCode || evt.keyCode;
    if(keyCode==13){
            document.execCommand('insertHTML', false, '<br>');
    }
}
div{
    border:1px black solid;
    padding:10px;
display: inline-block;
}
<div contenteditable="true" id="container" onkeydown="enterToBr()">
When Enter it's create new div inside container , but I need when user press enter key create new br not new div
</div>
0 голосов
/ 13 февраля 2020

Похоже, что все, что вам еще нужно сделать, это правильно предотвратить действие по умолчанию для события - return false сам не делает этого в этой ситуации.

Вам нужно либо передать это возвращаемое значение вверх по цепочке внутри атрибут HTML, используемый для добавления функции-обработчика,

onkeydown="return enterToBr()"

или для предотвращения использования соответствующего метода,

    if(keyCode==13){
            document.execCommand('insertHTML', false, '<br>');
            evt.preventDefault();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...