2009-05-31 7 views
1

私はdivの中に8つの画像を含むテーブルを持っていますが、テーブルやdivのmouseoutイベントを発生させたいが起動しません。これは、マウスが実際に画像、またはtd、またはtrなどのそれぞれを残しているからです。テーブル全体が拡大されるようにmouseoutイベントを取得して、それが起動されるようにする方法もあります子要素から?マークアップは単純です:すべての子要素から発射するjQuery mouseoutイベントの取得

<div id=container> 
    <table id="tbl"> 
    <tr> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
    </tr> 
    <tr> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
    </tr> 
    </table> 
</div> 

と私のjQueryのコードは次のとおりです。原因それらの上、時には絶対配置の要素があるので

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 

私はイメージのため、個々のマウスアウトイベントを発射することはできませんmouseoutイベントが早期に発生する可能性があります。

答えて

2

は次のようになります。

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 

あなたが "#" を見逃しています。 画像のみを表示する場合は、

$("#tbl >img").mouseout(function(){ 
    alert("out home"); 
}); 

PSをお試しください。代わりに$( "...").hover()を使用すると考えましたか?

+0

こんにちは、すみません..私はそれが悪いです!私は実際のコードからあまりにも多くを取り除き、私は実際のjsファイルの中に「#」を持っています。 – Fermin

+0

絶対に置かれた要素はテーブルが重なっていますか? –

+0

私はあなたのポストを再読し、私が完全に理解していないことに気付きました。あなたのコードはまったくまたは部分的にしか機能しません。 –

0

表を選択するのに#tblを使用しないでください。まったく同じ機能を持っていますが、それは、子要素で発生しません

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 
0

使用mouseleaveイベント、。

$("#tbl").bind("mouseleave",function(){ 
    alert("out home"); 
}); 
関連する問題