簡體   English   中英

如何在文本區域添加項目符號點?

[英]How to add bullet point in a 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>

這是單擊Enter時在文本區域內添加項目符號的問題中包含的代碼。

您可能需要更改兩件事:

1)正如@Alexiy在評論中所提到的那樣,除非將javascript設置為在文檔加載完成后運行,否則html代碼必須在作用於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> 

正如其他人在評論中提到的那樣,您使用的代碼存在的問題是,在瀏覽器獲取HTML代碼之前,您正在加載腳本。

一種可能的克服方法是將整個jQuery代碼包裝到$(document).ready()或其中之一的簡化​​版本中。

但是,我建議不要為此目的使用<textarea></textarea>元素,而是使用無序列表<ul></ul> 為了對其進行編輯,您可以將其包裝在div中,並將contenteditable值設置為true。 因此,以一個空的項目符號開始,請使用此HTML(無需javascript!)

 <div contenteditable="true"> <ul> <li></li> </ul> </div> 

你可以試試看 Java腳本

$(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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM