簡體   English   中英

如何使用Ckeditor自動將句子的第一個單詞大寫?

[英]How can I auto capitalize the first word of a sentence using Ckeditor?

在CKEditor / Textbox中自動鍵入時,句子的每個首字母應大寫。 在多行文本框中,其效果很好。 但是CKeditor不能正常工作。 我嘗試過的代碼如下。

var applySentenceCase = function(e) {
    this.value = this.value.replace(/.+?[\.\?\!](\s|$)/g, function(letter) {
        return letter.charAt(0).toUpperCase() + letter.substr(1).toLowerCase();
    }); 
}       
var capitalize = function(e) {
    if (this.value.match(/^[a-z]/)) {
        this.value = this.value.replace(/^./, function(letter) {
            return letter.toUpperCase();
        });
    }
}    
document.getElementById('TextBox1').addEventListener('keyup', capitalize);
document.getElementById('TextBox1').addEventListener('mouseup', capitalize);
document.getElementById('TextBox1').addEventListener('keyup', applySentenceCase);
document.getElementById('TextBox1').addEventListener('mouseup', applySentenceCase);

對於CKEditor


             $(document).ready(function(){
                       var applySentenceCase = function (e) {
                           this.value = this.value.replace(/.+?[\.\?\!](\s|$)/g, function (letter) {
                               return letter.charAt(0).toUpperCase() + letter.substr(1).toLowerCase();
                           });
                       }

             });
             $(document).ready(function () {
                       var capitalize = function (e) {
                           if (this.value.match(/^[a-z]/)) {
                               this.value = this.value.replace(/^./, function (letter) {
                                   return letter.toUpperCase();
                               });
                           }
                       }
             });

                       document.getElementById('CKEditor1').addEventListener('keyup', capitalize);
                       document.getElementById('CKEditor1').addEventListener('mouseup', capitalize);
                       document.getElementById('CKEditor1').addEventListener('keyup', applySentenceCase);
                       document.getElementById('CKEditor1').addEventListener('mouseup', applySentenceCase);

        </script>
    </div>

您也可以使用CSS執行此操作

p.caps:first-letter{
  text-transform: capitalize
}

這是小提琴

這樣嘗試

var str = "hello world";
str = str.toLowerCase().replace(/\b[a-z]/g, function(letter) {
    return letter.toUpperCase();
});
alert(str); 

暫無
暫無

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

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