2016-07-13 6 views
0

自分自身で拡張機能を作成していますが、フォーカスを得る前に自動フォーカスを無効にするか、少なくとも機能を実行したいと思います。どのようにkeypressにGoogle検索のオートフォーカスを防止するには?

keypress, keyup, keydown, inputwindowdocumentに設定しようとしました。そして、これを使用してイベントを停止します。

document.addEventListener('keypress', stopEvent); 

document.addEventListener('keyup', stopEvent); 

document.addEventListener('keydown', stopEvent); 

document.addEventListener('input', stopEvent); 


document.body.addEventListener('keypress', stopEvent); 

document.body.addEventListener('keyup', stopEvent); 

document.body.addEventListener('keydown', stopEvent); 

document.body.addEventListener('input', stopEvent); 


window.addEventListener('keypress', stopEvent); 

window.addEventListener('keyup', stopEvent); 

window.addEventListener('keydown', stopEvent); 

window.addEventListener('input', stopEvent); 

function stopEvent(e) { 
e.stopImmediatePropagation(); 
e.stopPropagation(); 
e.preventDefault() 
return false; 
} 

しかし、検索のための何らかの形での入力ボックスがまだ選択されます、私は何とかすべてのイベントハンドラを削除する必要がありますか?

答えて

2

私はそれを理解しました。これは第3パラメータです。

useCapture https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

は、いくつかの有酸素運動の後にこれを解決するために2分のように私を取りました。

function stopEvent(e) { 
    e.stopImmediatePropagation(); 
    //e.stopPropagation(); 
    //e.preventDefault() 
    //return false; 
} 

//var eles = [window, document, document.body]; 
var eles = [window]; 

eles.forEach(function(ele){ 
    ele.addEventListener('keypress',stopEvent,true); 
    ele.addEventListener('keyup',stopEvent,true); 
    ele.addEventListener('keydown',stopEvent,true); 
    ele.addEventListener('input',stopEvent,true); 
}); 
関連する問題