anahtarının bir textarea içine girmesini engellemeye çalışıyorum, ancak çalışmıyor gibi görünüyor.jQuery:
$('#comment').keyup(function(event) {
if (event.text.charCodeAt() == '10') {
event.preventDefault();
}
});
anahtarının bir textarea içine girmesini engellemeye çalışıyorum, ancak çalışmıyor gibi görünüyor.jQuery:
$('#comment').keyup(function(event) {
if (event.text.charCodeAt() == '10') {
event.preventDefault();
}
});
Sana
Herkes doğru cevabı :)
$('#comment').keypress(function(event){
if (event.keyCode === 10 || event.keyCode === 13)
event.preventDefault();
});
sahip bu kodu deneyebilirsiniz
jsfiddle.net, küçük gösteri yazdım
@Bubby LOL başkasının kodunu kopyalayıp jsfiddle'a yapıştırmayı kabul etti mi? –
Sadece bir not olarak; keyCode 10'a ihtiyaç duyulur çünkü iPhone'lar üzerindeki Safari, girişe basıldığında anahtar kodu 10 gönderir – Ben
@Ben Test ettiğimde, 10 yerine 13 gönderir. Bununla ilgili bir belge var mı? Ben bir tane bulamıyorum. –
.keypress
ile deneyin ve return false
kullanın;
İyi şanslar!
keydown
olay Kullanım event.keyCode
:
$('#comment').keydown(function(event) {
if(event.keyCode == 13) return false;
//carry on...
});
Neden keydown olayı değil? –
@ Šime Vidas Sanırım 'keydown' olayını kullanabilirsiniz. –
$('#comment').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
Wha? Enter tuşu için anahtar kodu "10" değil "13". –
10, LF (çizgi beslemesi) ve 13 CR'dir (satır başı). İkisini de engellemeli. –
@TomislavMarkovski: Hayır. KeyCode ** her zaman ** 13 Bkz. Örn. http://unixpapa.com/js/key.html – ThiefMaster
Burada verilen cevaplar Bir kişinin bir satır başı yazmasını engellemesini engelleyin, birisinin onu yapışmasını engelleyemezsiniz.
Metni kaldırmak için (javascript veya sunucu tarafında) metnin bazı işlemlerini yapmanız gerekir.
Ama soru şu, neden? Neden sadece tek satırlık bir giriş elemanı olduğundan otomatik olarak ilgilenen <input type="text"></input>
'u kullanmıyorsunuz?
Çünkü kutunun uzun olmamasına, geniş olmamasına ihtiyacım var. Sadece 50 px genişliğinde. –
Şimdi uzun bir sıska girdi kullanacağını merak ediyorum. –
Ajax sohbet widget'ı Tasarladım, böylece kullanıcı mesajı göndermek için enter tuşuna basabilir. –
keyup
etkinliğini iptal edemezsiniz. Ancak, keydown
ve keypress
olaylarını iptal edebilirsiniz. belgelerinde, "Olay Bilgiler" başlığı altında, "iptal" fark "Hayır" keyup
içindir: keydown
kullanma
sen kadar iptal sağlar keypress
'dan daha fazla anahtar, ancak anahtar kaldırıldıktan sonra iptal etmek istemiyorsanız, keypress
istediğin şeydir. Neyse ki sizin için, giriş anahtarı, keypress
etkinliğinin iptal edilebilir anahtarlarından biridir.
Etkinliğin tetiklendiğini sanmıyorum, '$ (' # comment ') 'istediğimi doğru yapıp yapmadığını nasıl anlarım? –
Değişiklik olayına ve aynı zamanda diğer herkesin görüntülediği tuşa/aşağıya/basın öğesine kanca atmayı unutmayın. Burada her çözüm ile, insanlar hala kaldırmanız gerekir önlemek için, linebreaks th textarea içine yapıştırma;) –