textbox Javascript中的备用案例
我想制作一段代码,交替用户输入的文本大小写。目前,我的代码如下所示:textbox Javascript中的备用案例,javascript,jquery,input,textbox,Javascript,Jquery,Input,Textbox,我想制作一段代码,交替用户输入的文本大小写。目前,我的代码如下所示: var num; function toTitleCase(str) { return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } $('input, textarea').onkeyup(function () { prev =
var num;
function toTitleCase(str) {
return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
}
$('input, textarea').onkeyup(function () {
prev = true;
for (num = 0; num < this.length; num += 2)
{
this.substr(num).val(toTitleCase(this.substr(num)));
}
});
var-num;
函数toTitleCase(str){
返回str.replace(/\w\S*/g,函数(txt){return txt.charAt(0.toUpperCase()+txt.substr(1.toLowerCase();});
}
$('input,textarea').onkeyup(函数(){
prev=真;
对于(num=0;num
问题是它不起作用(因为没有任何变化)。我试着让它成为一个Chrome扩展,但它并没有改变情况。是我测试代码的方式很奇怪还是代码有bug?试试这个。简单的代码
$('input,textarea').keyup(函数(){
var值=$(this.val();
var altText='';
对于(num=0;num
删除onkeyup
并仅使用不起作用的keyup
。此.length
每次都将不定义,请使用此.value.length
或缓存$(此)
,然后继续工作it@A.Jsubstr
也是一种方法**知识alert@siam是的,我的错。谢谢你的批改。
$('input, textarea').keyup(function () {
var value = $(this).val();
var altText = '';
for (num = 0; num < value.length; num ++)
{
if(num%2==0)
altText += value[num].toUpperCase();
else
altText += value[num].toLowerCase();
}
$(this).val(altText);
});
Below code should work
var num;
function toTitleCase(str) {
return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
}
$('input, textarea').keyup(function () {
var value = $(this).val();
var char = value.slice(-1);
if(value.length%2){
var str2 = value.slice(0, -1) + toTitleCase(char);
$(this).val(str2);
}
});