我想在点击“输入”时添加项目符号。 textarea里面的按钮。这是编码。它完全不起作用。我错了吗?
<script>
$(".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);
}
});
</script>
<form>
<textarea id="todolist" class="todolist" name="todolist" rows="10" placeholder="Maintain your pending tasks"></textarea>
</form>
答案 0 :(得分:1)
以下是单击enter时在文本区域内添加项目符号的问题中包含的代码。
您可能需要更改两件事:
1)正如@Alexiy在评论中所提到的,html代码需要在javascript代码作用于它之前,除非javascript设置为在文档完成加载后运行。
2)确保在javascript之前在页面上加载jquery,因为你在javascript中使用了jquery。
$(".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);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<textarea id="todolist" class="todolist" name="todolist" rows="10" placeholder="Maintain your pending tasks"></textarea>
</form>
答案 1 :(得分:1)
正如其他人在评论中提到的那样,您使用的代码的问题是,您在浏览器访问HTML代码之前加载脚本。
可以克服的一个问题是将整个jQuery代码包装到$(document).ready()
或其中一个缩短版本中。
但是,我建议不要将<textarea></textarea>
元素用于此目的,而是使用无序列表<ul></ul>
。
为了能够编辑它,您可以将其包装在contenteditable
值设置为true的div中。因此,从一个空的子弹开始,使用此HTML(不需要javascript!)
<div contenteditable="true">
<ul>
<li></li>
</ul>
</div>
答案 2 :(得分:0)
你可以试试这个。 的Javascript
$(document).ready(function(){
$('#txt').keyup(function(e){
if(e.keyCode == 13){
var h= $('#txt').val();
$('#txt').val('');
$('#txt').val(h+'*');// put your ascii code for special character
}
});
});
HTML:
<textarea id="txt"></textarea>