Bagaimana untuk mengawal bilangan perkataan dalam jquery

藏色散人
Lepaskan: 2021-11-11 10:15:14
asal
1665 orang telah melayarinya

Cara mengawal bilangan perkataan dalam jquery: 1. Import fail js luaran 2. "$("#txt").keyup(function(){...}" dalam

; teg, dsb. Kod; 3. Jalankan kod jQuery apabila halaman dimuatkan 1.2.6, komputer DELL G3

Bagaimanakah jquery mengawal bilangan perkataan Bagaimana untuk mengawal bilangan perkataan dalam jquery

Bagaimanakah jQuery mengira bilangan perkataan dalam kotak teks dan mengehadkan bilangan perkataan? perkataan dalam kotak teks

Satu aksara Cina dikira sebagai dua, satu simbol atau nombor, Dalam bahasa Inggeris, kira satu (Jika ia adalah 140 aksara, darab dengan 2, maka ia adalah 280) Anda perlu menggunakan. Kaedah Math.ceil, kerana anda masih perlu membahagikan dengan 2 untuk memulihkan bilangan aksara yang dipaparkan kepada pengguna;

Fungsi:

Pengiraan input pengguna dilakukan pada masa yang sama, memberitahu pengguna berapa banyak perkataan yang tinggal untuk dimasukkan Bagaimana untuk mengawal bilangan perkataan dalam jquery

Apabila had melebihi Selepas menetapkan bilangan perkataan, klik OK dan kotak input akan berkelip;
$(function(){ 
var $tex = $(".tex"); 
var $but = $(".but"); 
var ie = jQuery.support.htmlSerialize; 
var str = 0; 
var abcnum = 0; 
var maxNum = 280; 
var texts= 0; 
var num = 0; 
var sets = null; 
$tex.val(""); 
//顶部的提示文字 
$tex.focus(function(){ 
if($tex.val()==""){ 
$("p").html("您还可以输入的字数<span>140</span>"); 
} 
}) 
$tex.blur(function(){ 
if($tex.val() == ""){ 
$("p").html("请在下面输入您的文字:"); 
} 
}) 
//文本框字数计算和提示改变 
if(ie){ 
$tex[0].oninput = changeNum; 
}else{ 
$tex[0].onpropertychange = changeNum; 
} 
function changeNum(){ 
//汉字的个数 
str = ($tex.val().replace(/\w/g,"")).length; 
//非汉字的个数 
abcnum = $tex.val().length-str; 
total = str*2+abcnum; 
if(str*2+abcnum<maxNum || str*2+abcnum == maxNum){ 
$but.removeClass() 
$but.addClass("but"); 
texts =Math.ceil((maxNum - (str*2+abcnum))/2); 
$("p").html("您还可以输入的字数<span>"+texts+"</span>").children().css({"color":"blue"}); 
}else if(str*2+abcnum>maxNum){ 
$but.removeClass("") 
$but.addClass("grey"); 
texts =Math.ceil(((str*2+abcnum)-maxNum)/2); 
$("p").html("您输入的字数超过了<span>"+texts+"</span>").children("span").css({"color":"red"}); 
} 
} 
//按钮点击 
$but.click(function(){ 
if($(this).is(".grey")){ 
sets = setInterval(flash,100); 
$tex.addClass("textColor") 
} 
function flash(){ 
num++; 
if(num == 4){ 
clearInterval(sets); 
} 
if(num%2 == 1){ 
$tex.addClass("textColor") 
}else{ 
$tex.removeClass("textColor") 
} 
} 
}) 
})
Salin selepas log masuk

2. Analisis fungsian

Apakah peristiwa yang menjadi perkara utama

Pelayar standard menggunakan oninput, manakala IE menggunakan onpropertychange, syarat untuk berlakunya dua peristiwa ini ialah nilai kotak teks berubah

Bilangan aksara dikira sebagai dua, dan satu simbol atau nombor dalam bahasa Inggeris dikira sebagai satu (Jika 140 perkataan dinyatakan, darab dengan 2, maka ia akan menjadi 280). Kaedah Math.ceil perlu digunakan, kerana pada akhirnya ia masih perlu dibahagikan dengan 2 untuk memulihkan bilangan perkataan yang dipaparkan kepada pengguna;

Operasi modular digunakan di sini, kerana ia adalah tindakan yang berulang kali pertama terdapat warna, dan kali kedua tiada tindakan yang berulang seperti itu akan mempunyai kesan berkelip.

Kerana telanjang. eye Untuk melihat warna dan kesan tidak berwarna kali ini, anda perlu menggunakan delay, setTimeout dan setInterval digunakan di sini kerana tindakan itu perlu diulang

Kod berikut diperkenalkan kepada anda kotak yang mengehadkan bilangan aksara input

1 Import fail .js luaran:

2

3. Jika terdapat teks lalai dalam kotak input apabila halaman dimuatkan, kod jQuery berikut mesti dijalankan apabila halaman dimuatkan untuk memaparkannya dengan betul:

Pembelajaran yang disyorkan: "

Tutorial video jquery

Atas ialah kandungan terperinci Bagaimana untuk mengawal bilangan perkataan dalam jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan