javascript事件の泡だらけの補充
2253 ワード
scrollはIE 8-9では捕獲できず、泡ができないため、イベントエージェントを使用できません.FFでは捕獲によって処理できます.
focusとblurイベントはIEの下でfocusinとfocusoutイベントによってシミュレーションできますが、フォーム要素やリンクや写真などの一般的な要素ではなく、tabIndexを設定する必要があります.焦点をキャプチャしたり、焦点を失う能力があります.しかし、このようなOnXXX呼び出しができないイベントはいつでも廃棄されますので、私もそれらを使ってシミュレーションしません.focus、blurのイベントエージェントです.
>
<>>
<title>イベントシステムのメモ司徒正美(/title)
<スタイル>
div.test{
width:400 px;
height:320 px
magin:0 15 px;
background-カラー:33751;D 6 EDFC;
overflow:atot;
float:left;
)
ディv.test 1{
height:200 px
background:red
)
<スクリプト>
window.onload=function(){
var el=document.getElemenntById(「test」);
el.addEvent Listener(「DOMFocusIn」、function(e){
consolone.log(e.type)
},false)
el.addEvent Listener(「DOMFocusOut」、function(e){
consolone.log(e.type)
}false
el.addEvent Listener(「focus」、function(e){
consolone.log(e.type)
},false)
el.addEvent Listener(「blur」、function(e){
consolone.log(e.type)
}false
)
<body>
<h 1>mouseenterとmouseleave(/h 1)
<div class=「test」id=「test」tabIndex=「-1」
<div class=「test 1」tabIndex=「-1」
実行コード
scrollは二つのDIVの間かwindowの中にしか使えません.この時はスクロールバーが存在することが要求されます.IEの中で泡ができなくても捕獲できません.標準ブラウザの中で泡が発生する状況も非常に混乱しています.スクロールバーがあるかどうかを判定するだけで、そのイベントの代理をサポートするつもりもありません.
focusとblurイベントはIEの下でfocusinとfocusoutイベントによってシミュレーションできますが、フォーム要素やリンクや写真などの一般的な要素ではなく、tabIndexを設定する必要があります.焦点をキャプチャしたり、焦点を失う能力があります.しかし、このようなOnXXX呼び出しができないイベントはいつでも廃棄されますので、私もそれらを使ってシミュレーションしません.focus、blurのイベントエージェントです.
>
<>>
<title>イベントシステムのメモ司徒正美(/title)
<スタイル>
div.test{
width:400 px;
height:320 px
magin:0 15 px;
background-カラー:33751;D 6 EDFC;
overflow:atot;
float:left;
)
ディv.test 1{
height:200 px
background:red
)
<スクリプト>
window.onload=function(){
var el=document.getElemenntById(「test」);
el.addEvent Listener(「DOMFocusIn」、function(e){
consolone.log(e.type)
},false)
el.addEvent Listener(「DOMFocusOut」、function(e){
consolone.log(e.type)
}false
el.addEvent Listener(「focus」、function(e){
consolone.log(e.type)
},false)
el.addEvent Listener(「blur」、function(e){
consolone.log(e.type)
}false
)
<body>
<h 1>mouseenterとmouseleave(/h 1)
<div class=「test」id=「test」tabIndex=「-1」
<div class=「test 1」tabIndex=「-1」
実行コード
scrollは二つのDIVの間かwindowの中にしか使えません.この時はスクロールバーが存在することが要求されます.IEの中で泡ができなくても捕獲できません.標準ブラウザの中で泡が発生する状況も非常に混乱しています.スクロールバーがあるかどうかを判定するだけで、そのイベントの代理をサポートするつもりもありません.
// IE w3c focus blur select
"focus_focusin,blur_focusout,select_selectstart".replace(/\w+/g,function(types){
types = types.split("_");
events.special[ types[0] ] = {
liveType: DOC.dispatchEvent ? types[0] : types[1],
livePhase:!!DOC.dispatchEvent,
liveSetup: function(node, type, _, phase){
enableFocusin(node);
dom.bind(node,type,function(e){
e = events.fix(e);
dom.log(" IE w3c focus blur select ")
e.type = types[0];
events.handle.call(this,e);
},phase);
}
}
});