我正在使用我的HTML文本編輯器在contenteditable中輸入文本,并在我輸入文本并點擊鍵盤上的enter按鈕后自動創建div標簽。
當我鍵入文本& quot測試& quot在contenteditable中,當我點擊enter按鈕時,我得到了這個消息:
Test<div><br></div>
這是我想要達到的目標:
<div dir="auto">Test</div><div dir="auto"><br></div>
在contenteditable中,它只會在帶有& ltbr & gt當我按下鍵盤上的回車鍵后。它不會添加帶有文本的div標簽,只會添加帶有& ltbr & gt標簽。
我想補充一下& ltdiv dir = & quot自動& quot& gt每當我在新行中輸入文本時,以及當我點擊鍵盤上的enter按鈕添加& ltbr & gt標簽在div標簽內。如果文本已經在div標簽中,那么就不需要自動添加div。
以下是html代碼:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
</head>
<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<div id="main" class="main" style="padding-left: 13px;"><div id="editor" contenteditable="true"></div></div>
<script type="text/javascript" src="richeditor.js"></script>
</body>
</html>
JS:
// Event Listeners
RE.editor.addEventListener("input", RE.callback);
addEventListener("keyup", function(e) {
var KEY_LEFT = 37, KEY_RIGHT = 39;
var KEY_ENTER = 13;
keypress = KEY_ENTER;
if (e.which == KEY_LEFT || e.which == KEY_RIGHT) {
RE.enabledEditingItems(e);
}
if (e.which == KEY_ENTER) {
window.scrollTo(0, document.body.scrollHeight);
}
else
{
keypress = e.which;
}
endofLine = checkLine();
});
CSS:
#editor {
display: table-cell;
width: 100%;
outline: 0px solid transparent;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
我試圖在谷歌上找到如何在輸入文本后自動在contenteditable中添加div標簽,但我找不到。
你能告訴我一個例子,我如何添加div標簽& ltdiv dir = & quot自動& quot& gt當我在新的一行中輸入新的文本時,當我點擊鍵盤上的enter按鈕時,div將自動添加& ltbr & gt標簽??