SEKME tuşunu yakalamak, varsayılan eylemi iptal etmek ve kendi javascript işlevimi çağırmak istiyorum.jQuery: Bir Textbox içindeki SEKME tuşa basışı nasıl kaydedilir
cevap
Düzenleme: senin eleman dinamik olarak eklenmesini olduğundan, sizin örnekte olduğu gibi delegated on()
kullanmak zorunda, ancak çünkü @Marc yorum olarak, keydown olaya bağlamak gerekir, IE tuşa basma olayı etmiyor 't olmayan karakter tuşları yakalamak:
$("#parentOfTextbox").on('keydown', '#textbox', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
// call custom function here
}
});
Kontrol örneği here. jQuery 1.9 içinde
$('#textbox').live('keypress', function(e) {
if (e.keyCode === 9) {
e.preventDefault();
// do work
}
});
Ayrıca Kimliği txtName ile TextBox var); fonksiyonun ilk satırında. –
bu benim IE6 + –
@ Jon'da çalışmıyor, keypress IE – Marc
Çalışma örneği:
$('body').on('keydown', '#textbox', function(e) {
if (e.which == 9) {
e.preventDefault();
// do your code
}
});
make 'e.preventDefault(); . – stil
Üstü gösterilen yöntemler i biraz eski jquery kullanıyorum edilebilir, benim için işe yaramadı, daha sonra nihayet aşağıda gösterilen kod parçacığı için çalışır - ihtimale gönderme benim aynı pozisyonda birileri
$('#textBox').live('keydown', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
alert('tab');
}
});
hep sonunda "return false" unutma, zaten bir şeyler yapmaya çalışacağız o sekmeyi bilmektir tırnağını aşağı bir anahtar kullanarak önemli bir kısmı.
İşte yaptığım şey. .blur üzerinde çalışan bir işlev ve form odakımın bulunduğu yeri değiştiren bir işlev var. Temel olarak, formun sonuna bir girdi ekler ve bulanıklık üzerine hesaplamalar yaparken oraya gider.
$(this).children('input[type=text]').blur(timeEntered).keydown(function (e) {
var code = e.keyCode || e.which;
if (code == "9") {
window.tabPressed = true;
// Here is the external function you want to call, let your external
// function handle all your custom code, then return false to
// prevent the tab button from doing whatever it would naturally do.
focusShift($(this));
return false;
} else {
window.tabPressed = false;
}
// This is the code i want to execute, it might be different than yours
function focusShift(trigger) {
var focalPoint = false;
if (tabPressed == true) {
console.log($(trigger).parents("td").next("td"));
focalPoint = $(trigger).parents("td").next("td");
}
if (focalPoint) {
$(focalPoint).trigger("click");
}
}
});
bu deneyin:
$('#contra').focusout(function(){
$('#btnPassword').focus();
});
varsayalım sen (e.preventDefault kullanın varsayılan eylemi iptal etmek,
$("[id*=txtName]").on('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
alert('Tab Pressed');
}
});
- 1. "shift + sekme" tuşa basma olayını yakalama
- 2. Bir TextBox
- 3. jQuery: Bir sekme/pencere odaklanınca nasıl anlaşılır
- 4. Apache Wicket'teki bir sekme içindeki bir sekmenin başlığını nasıl değiştiririm?
- 5. jQuery taşıma tuşa basma kombinasyonları
- 6. Tuşa basma jquery ile girişten nasıl kaldırılır?
- 7. jquery kullanarak sekme seçin
- 8. WPF'de Ctrl + Tab ve Ctrl + ÜstKrkt + Sekme nasıl kaydedilir?
- 9. bir TextBox
- 10. Ebeveynten bir iframe içindeki jquery nasıl kullanılır?
- 11. Python: Bir işlevi bir tuşa bağla
- 12. C# Sayısal TextBox - WPF
- 13. TextBox Denetim Sekmesi Duraklatlarını Nasıl Değiştirir
- 14. Bir metin düzenleyicisi denetiminde bir TextBox ekleme
- 15. Caret pozisyonu/DIV, Textbox, Textarea vb. Içindeki seçenekler
- 16. jQuery - tuş/tuşa basma/tuşlama ENTERKEY algılama?
- 17. Kullanıcı durumu nasıl kaydedilir?
- 18. Bir tuşa basma, Bileşik WPF'de bir DelegateCommand ile nasıl ilişkilendirilir?
- 19. Bir tablo içindeki tüm onay kutularını jquery
- 20. JQuery kullanarak bir model içindeki bir öğeye nasıl kaydırılır?
- 21. R bir data.frame nasıl kaydedilir?
- 22. WPF TextBox Gerdirme
- 23. Bir TextBox ve Etiket'i TableLayoutPanel'de nasıl hizalarım?
- 24. Jquery fullcalendar içindeki olay verileri nasıl yenilenir
- 25. jQuery: tablonun içindeki değer kümesini
- 26. Bootbox jquery içindeki Javascript işlevi
- 27. jQuery DataTable içindeki öğeleri alın
- 28. Tuşa basma işlevi için ortak işlev nasıl yazılır C# içindeki bir metin kutusunun kayan sayısını denetle?
- 29. C# .NET formunda bir tuşa nasıl basılır
- 30. CakePHP yabancı bir tuşa nasıl geçilir
IE4 + 'da SEKME'yi bastığımda bu IE8'de çalışmaz \ –
+ olay tetiklenmiyor (ancak herhangi bir alfanümerik tuşa basıyorsa) ... .live kullanmalıyım (' keypress ', fn) –
Sadece canlı olarak çalışıyorsa, belki de metin kutusu öğenizi dinamik olarak ekliyorsunuz, eğer öğe zaten sayfada bulunuyorsa, bu işe yarayacak, bu örneği kontrol edin: http://jsbin.com/oguhe – CMS