• Test 1
o Test 1A
o Test 1AA
• Test 2
我想在textarea中找到类似上面的内容。
所以,当我保存时,我得到:
<ul>
<li>Test 1</li>
<ul>
<li>Test 1A</li>
<ul>
<li>Test 1AA</li>
</ul>
</ul>
<li>Test 2</li>
</ul>
我的研究让我知道了:
$(".todolist").focus(function() {
if(document.getElementById('todolist').value === ''){
document.getElementById('todolist').value +='• ';
}
});
$(".todolist").keyup(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
document.getElementById('todolist').value +='• ';
}
var txtval = document.getElementById('todolist').value;
if(txtval.substr(txtval.length - 1) == '\n'){
document.getElementById('todolist').value = txtval.substring(0,txtval.length - 1);
}
});
$(document).delegate('#textbox', 'keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
var start = $(this).get(0).selectionStart;
var end = $(this).get(0).selectionEnd;
// set textarea value to: text before caret + tab + text after caret
$(this).val($(this).val().substring(0, start)
+ "\t"
+ $(this).val().substring(end));
// put caret at right position again
$(this).get(0).selectionStart =
$(this).get(0).selectionEnd = start + 1;
}
});
http://jsfiddle.net/abhiagrawal87/m39xt/
.text {
border: 1px solid grey;
padding: 2px 3px;
}
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<hr/>
<div contenteditable='true' class="text">
paste here ...
</div>
这里的所有代码都做了一些有用的东西,但把它放在一起是另一回事。有些人使用div和其他textarea。
非常感谢任何帮助。
谢谢。 -Barry