Kullanıcının bazı verileri girmesi gereken bir metin kutumuz var. Ancak, bu veriler 500 karakteri geçmemelidir.Program boyutunda metin boyutunu değiştirme, değişiklik olayını önlüyor
function keyupMaxLimit(obj, maxlen) {
if (parseInt(obj.value.length) > maxlen) {
$(obj).val($(obj).val().substr(0,maxlen));
}
}
Bu çalışıyor:: Biz KeyUp olayı çağrıda aşağıdaki işlevi uyguladığınızı başarılı amacıyla kullanıcı daha o gerekiyordu giremez. Değişiklikleri algılamak ve sihrimizi yapmak için aynı metin kutusunun Change olayıyla ilişkili bir işlevimiz de var.
$(document).on("change", "#myTextBox", function() {
//magic here
});
Bu ayrıca çalışıyor: kullanıcı metni değiştirdiğinde işlev çağrılıyor.
Ancak, bu bizim sorunumuz, bu iki işlev birlikte çalışmıyor. Örneğin, kullanıcı istediği daha fazla karakter getiriyorsa, ilk işlev metni kırpacak, ancak ikincisi çağrılmayacaktır!
İlk işlevdeki metin kutusuna yaptığımız değişikliklerin Change olayını önlediği/temizlediği görülmektedir. Bu doğru mu? Herhangi bir geçici çözüm var mı? İlk işlevdeki Change olayını açık bir şekilde tetikleyemiyorum çünkü gereksiz değişiklikler oluşturabilirdik.
DÜZENLEME - Bunu şu şekilde görebilirsiniz: http://jsfiddle.net/jpaires/dpujx/ Tarayıcı konsolunu açın ve metin kutusuna "12345" yazın. Etkinlik tetiklenir (konsolda "a-ok"). Ancak, "123456" yazarsanız, metin kesilir ve olay tetiklenmez (konsolda "a-ok" olmaz). Teşekkür Juhana :)
Ben artık şöyle html girdi karakter sayısını sınırlamak için bir denemelisiniz
"Sihir" in sadece "keyupMaxLimit" (bu, 500) olduğunu varsayalım; Orada bir olay işleyici – Archer
anahtarlık olayı bazı hatalar olabilir temizleyecektir orada bir şey yok ... lütfen bize bu kodu gösterecek ... de – Darshan
@ Okçu Evet, öyle. Benim textarea etiketinde aşağıdaki gibi bir atribut var: onkeyup = "keyupMaxLimit (bu, 500); – jpaires