2008-09-03 19 views
1

geri/ileri sayfaları çevirmek için bir kısayol tuşu olarak GreaseMonkey komut Ctrl + Sol/Ctrl + Sağ kullanıyorum. İyi çalışıyor gibi görünüyor, ancak bir metin düzenleme alanında iseniz bu davranışı devre dışı bırakmak istiyorum. Sayfa aktif öğesi almak ve düzenlenebilir bir alan olup olmadığını sınamak için document.activeElement kullanmaya çalışıyorum, ancak her zaman "undefined" değerini döndürür.Düzenleme sırasında GreaseMonkey'de bir kısayol tuşunu nasıl devre dışı bırakabilirim?

cevap

2

document.activeElement FF3 benim için çalışıyor ama şu da

(function() { 

var myActiveElement; 
document.onkeypress = function(event) { 
    if ((myActiveElement || document.activeElement || {}).tagName != 'INPUT') 
     // do your magic 
}; 
if (!document.activeElement) { 
    var elements = document.getElementsByTagName('input'); 
    for(var i=0; i<elements.length; i++) { 
     elements[i].addEventListener('focus',function() { 
      myActiveElement = this; 
     },false); 
     elements[i].addEventListener('blur',function() { 
      myActiveElement = null; 
     },false); 
    } 
} 

})(); 
+0

Uzantılarım FF3'te çalışana kadar FF 2.0.0.16 kullanıyorum. ActiveElement FF2'de çalışmıyor gibi görünüyor, ancak odak/bulanıklık olayları hile yaptı, teşekkürler – PabloG

0

element.activeElement HTML5 spec parçası olmasına karşın çoğu tarayıcı tarafından desteklenmemektedir çalışır. İlk olarak IE tarafından tanıtıldı.