2009-08-12 3 views
0

私はグリッドビューを持っており、特定の列にマウスを置くと、その位置に外部div(position:absolute)をロードしています。これはonmouseoverでjs関数を呼び出すことで行いましたグリッドビューセルのイベント(gvTestGrid.cells [1] .attributes.add( "onmouseover"、 "loadDIV();"))。 マウスのホバーでdivを正しく読み込めますが、問題はロードされたdivにドロップダウンとその中のボタンが含まれていることです。 div内でマウスを動かしてボタンをクリックするか、ドロップダウンリストを選択しようとすると、divが移動します。 onmouseoutイベント(gvTestGrid.cells [1] .attributes.add( "onmouseout"、 " removeDIV(); "))は、gridviewでフローティングdivを示しています

onmouseなしアウト・イベント私のdiv要素があれば、私は小さなサンプル

<html> 
    <div id="divPopup" onmouseout="removeDIV(this,event);" style="display:none;width:100px;height:100px;color:Navy;border:2px;border-color:Red;border-style:solid;"> 
    Yes its me 
    </div> 

    <table> 
    <tr><td>A</td></tr> 
    <tr><td>S</td></tr> 
    <tr><td onmouseover="loadDIV(event)" onmouseout="removeDIV(this,event);">D</td></tr> 
    <tr><td>E</td></tr> 
    </table> 

</html> 
<script language="javascript" type="text/javascript"> 
function loadDIV(evt) 
{ 
var myWin = document.getElementById('divPopup'); 
myWin.style.position='absolute'; 
myWin.style.left = evt.x; 
myWin.style.top = evt.y; 
myWin.style.display='block'; 

} 

function removeDIV(obj,evt) 
{ 
var myWin = document.getElementById('divPopup'); 
myWin.style.display='none'; 
myWin.style.left = 0; 
myWin.style.top = 0; 
} 
</script> 

を行っているGridViewのcell.Pleaseヘルプ

にそこにロードされたままになりますあなたはそれが移動するdivにマウスを入力しようとするこれのための任意の解決策はどうですか??

+0

関連するコードを投稿してください – Jason

答えて

2

DIVで作業を完了した後でdivを削除すると、ポップアップが表示されますか?したがって、DIVのボタンをクリックするとDIVを閉じることができます(DIVが動作すると仮定し、後で閉じる必要があります)。

0

divにonmouseoutイベントを添付する必要があるようです。

+0

私も同じことをやってみました。 –

1

divを隠すための小さなタイムアウトを設定し、divのonmouseoverハンドラでこのタイムアウトをクリアします。

0

このコンテンツにアンカータグが付いていない場合は、CSSマジックをお勧めしますか?

ここCSS

a.MyCellPopup div.MyPopup {display:none;} 
a.MycellPopup {position:relative;} /* Make pop up's position relative to the anchor tag */ 
a:hover.MyCellPopup div.MyPopup {display:block;position:absolute;top:10px;left:10px} 

ここでHTML

<a href="#" onclick="return false;" class="MyCellPopup"> 
    <div class="MyPopup">POP UP STUFF without links (links won't work)</div> 
</a> 

私は、彼らがセルをクリックしてくださいので、もし=は "falseを返す" onclickのを持って、彼らはの上にもたらされることはありませんページ。 hrefがそこにある必要があります。そうしないと、IEはホバーを認識しません。シンプルなポップアップを行う方法については、ZenGardenからこのアイディアを得ました。

これでも動作しない場合は、YUIライブラリにアクセスすることを強くおすすめします.YUIライブラリには、この問題のためのjavascriptウィジェットがあります。

関連する問題