私が使用しているライブラリでは、要素にカーソルを合わせたときに、要素をdomの前面に移動するタスクがあります。(私はそれを大きくするので、それを見る必要があり、マウスを外したときに縮小します)。
appendChildren
私が使用しているライブラリには、アクティブな要素を使用してその親の最後に移動し、さらにdomの最後に向かって、次に上に移動する、きちんとしたソリューションがあります。
問題は、あなたが動かしている要素があなたがmouseout
イベントの上にホバリングしている要素であるために失われると私は信じていることです。マウスはまだノード上にありますが、mouseout
イベントは発生していません。
問題を確認するために機能を削除しました。Firefoxでは正常に動作しますが、IEのどのバージョンでも動作しません。ここでは速度を上げるためにjQueryを使用しています。ソリューションは単純な古いJavascriptにすることができます。これは、アップストリームに戻る必要がある場合があるため、優先されます。
要素がvmlであり、ライブラリがRaphaelであり、toFront
呼び出しを使用しているため、ここではz-indexを使用できません。簡単な例で問題を示すためにul/liを使用したサンプル
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="js/jquery.min.js" type="text/javascript"></script>
<style>
li
{
border:1px solid black;
}
</style>
</head>
<body>
<ul><li>Test 1</li></ul>
<ul><li>Test 2</li></ul>
<ul><li>Test 3</li></ul>
<ul><li>Test 4</li></ul>
<script>
$(function(){
$("li").mouseover(function(){
$(this).css("border-color","red");
this.parentNode.appendChild(this);
});
$("li").mouseout(function(){
$(this).css("border-color","black");
});
});
</script>
</body>
</html>
編集:これは、実際の動作を確認するためのjsペーストビンへのリンクです。http://jsbin.com/obesa4
**編集2:**投稿する前に、すべての回答に対するすべてのコメントを参照してください。