jQuery UI uyumcusunda aktif üstbilgileri değiştirmek için boşluk çubuğunu kullanabilirsiniz. Bunu nasıl engelleyebiliriz? Kullanıcının klavyeyi akordeon ile etkileşimde bulunmasını istemiyorum.jQuery UI Akordeonunu boşluk çubuğunun devre dışı bırakılması
cevap
Bir çalışma çözümü buldum, ancak sonuçlardan emin değilim. jquery.ui.accordion.js ise
:
_keydown: function(event) {
if (this.options.disabled || event.altKey || event.ctrlKey) {
return;
}
var keyCode = $.ui.keyCode,
length = this.headers.length,
currentIndex = this.headers.index(event.target),
toFocus = false;
switch (event.keyCode) {
case keyCode.RIGHT:
case keyCode.DOWN:
toFocus = this.headers[ (currentIndex + 1) % length ];
break;
case keyCode.LEFT:
case keyCode.UP:
toFocus = this.headers[ (currentIndex - 1 + length) % length ];
break;
case keyCode.SPACE:
case keyCode.ENTER:
this._clickHandler({ target: event.target }, event.target);
event.preventDefault();
}
if (toFocus) {
$(event.target).attr("tabIndex", -1);
$(toFocus).attr("tabIndex", 0);
toFocus.focus();
return false;
}
return true;
},
Bildirim girmek için uzaydan "suya düşmek".
_keydown: function(event) {
if (this.options.disabled || event.altKey || event.ctrlKey) {
return;
}
var keyCode = $.ui.keyCode,
length = this.headers.length,
currentIndex = this.headers.index(event.target),
toFocus = false;
switch (event.keyCode) {
case keyCode.RIGHT:
case keyCode.DOWN:
toFocus = this.headers[ (currentIndex + 1) % length ];
break;
case keyCode.LEFT:
case keyCode.UP:
toFocus = this.headers[ (currentIndex - 1 + length) % length ];
break;
case keyCode.SPACE:
break;
case keyCode.ENTER:
this._clickHandler({ target: event.target }, event.target);
event.preventDefault();
}
if (toFocus) {
$(event.target).attr("tabIndex", -1);
$(toFocus).attr("tabIndex", 0);
toFocus.focus();
return false;
}
return true;
},
Hala "enter" tuşuna basarak kapanış davranış olsun, yani gerekli yanı ise orada kırmak için çekinmeyin: Ben bir ara ekledi. Sorunun
'da olduğunu düşünüyorum, ancak ilk okuduğumda görmedim. Bu düzenleme benim için çalışıyor. Eğer hiç "_keydown" işlevini gerekmiyorsa
yardımcı
Umut, ben sadece bunu silebilirsiniz sanırım.
delete($.ui.accordion.prototype._keydown);
değiştirmek veya "_keydown" fonksiyonu işlevselliğini geçersiz kılmak istiyorsanız ve yapabileceği özgün dosyaya kesmek istemiyorsanız eğer:
yardımcı$.ui.accordion.prototype._keydown = function(event) {
// your new code for the "_keydown" function
};
umut
Geçersiz kılma gayet iyi çalışıyor. Uicode hala tetiklediğinden ve bir hata vereceğinden, anahtarı tamamen silmek istemezsiniz. Basitçe "geri dönüş"; _keydown işlevinden baypassa kadar – muck41
Sadece boşluk çubuğunu etkinleştirmek için bir yanıt geliştirdim, ancak geçersiz kılmak istediğiniz diğer anahtar olayları için genişletilebilir. Ben benzer bir sorun (- boşluk tuhaf davranıyordu akordeon başlığının yerinde düzenleme) - üzerinde çalışıyordu
/*
* Detect spacebar and return immediately, otherwise call standard behaviour
* The 'solution' of deleting the event handler caused other errors
* http://stackoverflow.com/a/7008791
*/
$.ui.accordion.prototype._originalKeyDown = $.ui.accordion.prototype._keydown;
$.ui.accordion.prototype._keydown = function(event) {
var keyCode = $.ui.keyCode;
if (event.keyCode == keyCode.SPACE) {
return;
}
// call the original method
this._originalKeyDown(event);
};
- 1. JQuery ui - tarih seçici, belirli tarihlerin devre dışı bırakılması
- 2. devre dışı bırakılması indir
- 3. devre dışı bırakılması Vim - - INSERT mesajı
- 4. devre dışı bırakılması Log4J günlükleri
- 5. Bir HTML düğmesinin devre dışı bırakılması için JQuery çalışmıyor
- 6. Liste öğelerinin devre dışı bırakılması ve grileştirilmesi
- 7. Pygtk düğmesindeki zamanlamanın devre dışı bırakılması
- 8. VS2008 ile EnterpriseLibrary tümleştirmesinin devre dışı bırakılması
- 9. devre dışı bırakılması PUT İZ, 6.0
- 10. TSQL - İşlemlerde devre dışı bırakılması Tetikleyiciler
- 11. Sınır foreach döngü devre dışı bırakılması
- 12. Kaydırma çubuğunun üzerinde yer alan Jquery işlevini devre dışı bırakma
- 13. jQuery - devre dışı tıklama
- 14. devre dışı jquery
- 15. Devre Dışı/jquery
- 16. jQuery UI Sortable - Yana doğru hareketi devre dışı bırakma
- 17. jQuery-UI kaydırıcısı - klavye girişini nasıl devre dışı bırakabilirim?
- 18. jquery ui tek bir öğe için devre dışı bırakma
- 19. jQuery UI combobox'larını nasıl etkinleştirebilirim/devre dışı bırakabilirim?
- 20. Kendo UI Izgara belirli sütun için sütun menüsünü devre dışı bırakılması
- 21. bir kaydırma görünümünün devre dışı bırakılması nasıl olur
- 22. Postgres'te bir dizinin geçici olarak devre dışı bırakılması mümkün mü?
- 23. Kod aracılığıyla bir Magento Ürününün Devre Dışı Bırakılması
- 24. Firefox'taki kaynak haritalarının devre dışı bırakılması mümkün mü (sürüm 45.0.1)?
- 25. devre dışı bırakılması kırmızı çizgilerdir/TextView'un Böyle yapılandırılmış TextView'lar var
- 26. WCF - nettcpbinding içinde güvenliğin devre dışı bırakılması (C#)
- 27. SQL Server'ın .NET koduyla önbelleğe alınıp devre dışı bırakılması
- 28. Bir Aktör için görünümün devre dışı bırakılması nasıl ayarlanır
- 29. Spring MVC web uygulaması - denetleyicinin mülkten etkinleştirilmesi/devre dışı bırakılması
- 30. Emac'ın nXhtml modunda yığınsal boyama devre dışı bırakılması
Ben jQueryUI daha yeni sürümlerinde tıklama işleyicisi yöntemi kaldırılmıştır ve değiştirilir bulundu: this._eventHandler (Etkinlik); –