2012-04-24 3 views
0

私があなたを助けてくれることを願っています! この機能はInternet Explorerでは機能しません!どのようにできるのか?インターネットエクスプローラーとターゲットイベント

function docClick (oEvent) { 
    var bHide = true, oTable = document.getElementById("content_tab"); 
    for (var oItTarget = oEvent.target; oItTarget; oItTarget = oItTarget.parentNode) { 
     if (oItTarget === oTable) { bHide = false; break; } 
    } 
    if (bHide) { 
     oTable.style.visibility = "hidden"; 
    } 
} 

誰でも手伝ってもらえますか?ありがとう!

+0

ブラウザのバージョンについても言えることはありますか。 –

答えて

0

IE用にcurrentTargetプロパティを使用する必要があります。ターゲットが利用可能であるかどうか確認する:

var oItTarget = oEvent.target ? oEvent.currentTarget : oEvent.target; 

またはあなたの機能に:

function docClick (oEvent) { 
    var bHide = true, oTable = document.getElementById("content_tab"); 
    for (var oItTarget = oEvent.target ? oEvent.currentTarget : oEvent.target; oItTarget; oItTarget = oItTarget.parentNode) { 
     if (oItTarget === oTable) { bHide = false; break; } 
    } 
    if (bHide) { 
     oTable.style.visibility = "hidden"; 
    } 
} 
+0

いいえ、 'target'が利用できない場合(IE <9でないため)、どちらも' currentTarget'ではありません。 –

0

をあなたがIE <あなたはまた、(イベント・ハンドラが接続されている方法に応じて)も9にsrcElementではなくtargetを必要とする必要がありますIEでwindow.eventを使用する

function docClick (oEvent) { 
    oEvent = oEvent || window.event; 
    var target = oEvent.target || oEvent.srcElement; 

    var bHide = true, oTable = document.getElementById("content_tab"); 
    for (var oItTarget = target; oItTarget; oItTarget = oItTarget.parentNode) { 
     if (oItTarget === oTable) { bHide = false; break; } 
    } 
    if (bHide) { 
     oTable.style.visibility = "hidden"; 
    } 
} 
+0

ご協力いただきありがとうございます!わかりました!今は大丈夫です – user1353633

関連する問題