편집하는 동안 GreaseMonkey의 단축키를 비활성화하려면 어떻게 해야 합니까?
-
09-06-2019 - |
문제
나는 사용하고있다 Ctrl 키+왼쪽 / Ctrl 키+오른쪽 GreaseMonkey 스크립트에서 페이지를 뒤로/앞으로 전환하는 단축키로 사용됩니다.제대로 작동하는 것 같지만 텍스트 편집 영역에 있는 경우 이 동작을 비활성화하고 싶습니다.document.activeElement를 사용하여 페이지 활성 요소를 가져오고 편집 가능한 영역인지 테스트하려고 하는데 항상 "정의되지 않음"을 반환합니다.
해결책
document.activeElement는 FF3에서 작동하지만 다음도 작동합니다.
(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);
}
}
})();
다른 팁
element.activeElement는 HTML5 사양의 일부이지만 대부분의 브라우저에서는 지원되지 않습니다.IE에서 처음 소개되었습니다.
제휴하지 않습니다 StackOverflow