[英]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>
這樣嘗試
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.