2
4

6 に答える 6

4

アーカイブとしてこの投稿に出くわした人のために、代わりにここに私のために働いたものがあります。

mouseout()を使用する代わりに、タグにmouseleave()を使用してみてください。

私の問題は、div内の要素が複数のmouseout呼び出しをトリガーした結果でした。親オブジェクトのMouseleaveはこれを解決しました。

于 2011-01-27T01:10:44.913 に答える
3

jQueryを使用している場合は、hoverメソッドに切り替える必要があります。

それ以外の場合は、を確認してくださいe.target || e.srcElement

于 2010-03-22T16:06:52.090 に答える
0

ブロック要素をアンカータグでラップしないでください。アンカータグはインライン要素です。それらをURLハッシュの名前付きの場所として(つまり、内部ページナビゲーションのために)使用しようとしている場合は、ページをスクロールする必要のあるコンテンツの上に配置するだけです。

divをクリックしたときに何かを起こそうとしている場合は、divにonclickハンドラーを配置します。

于 2010-03-22T16:07:27.253 に答える
0

<span>ええと、垂直方向のギャップがあります(2つのタグの間に改行が表示されます)。それを除く。

HTMLが有効とはほど遠いことにも注意してください。のようなインライン要素には、のような<a>ブロック要素を含めることはできません<div>

于 2010-03-22T16:27:18.650 に答える
0

これが問題を再現するコードの一部です。これをコピーして貼り付けてテストするか、テスト用にアップロードしたものと同じものをここで確認してください

<html><head><style>
a {
float:left;
border:1px solid #b0b;
display:block;
}
.shpf,.shpe {
background:#b0b; float:left;
width:2px; height:2px;
padding:0; margin:0;
line-height:0;
}
.shpe {
background:#fff;
}
.shpbrk {
float:left; clear:both;
}
</style></head><body>
<a id="happy" href="javascript:void(0);"><div id="happy_button" class="button"><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpf"></span><span class="shpf"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span></div></a>
</body></html>

注:ricebowlが指摘したように、アンカーをブロック要素にすることができる<!doctype html>を使用しても、結果は同じです。アンカーにカーソルを合わせると、マウスアウトイベントがトリガーされ、ステータスバーでリンク先のリンクテキストが点滅します(少なくともFirefoxでは、他の場所ではテストされていません)。スパンは空です。これは通常は間違っていますが、&nbsp;を使用しても同じことが起こります。それらの中に。

于 2010-03-22T23:46:02.963 に答える
0

解決策への道を切り開いた。position:相対アンカーと、幅と高さで100%拡張する内部のダミーdivは、アンカーを正確にオーバーレイするように絶対位置に配置されます。ホバリング時にリンクがちらつくことはなくなり、ダミーのマウスアウトイベントが発生することはありません。ここにコードがあり、ここにリンクがあります:

<html><head><style>
a {
float:left;
border:1px solid #b0b;
display:block;
position:relative;
}
.shpf,.shpe {
background:#b0b; float:left;
width:2px; height:2px;
padding:0; margin:0;
line-height:0;
}
.shpe {
background:#fff;
}
.shpbrk {
float:left; clear:both;
}
.dummy {
z-index:1;
position:absolute;
left:-1px; top:-1px; /* Fix for parent's border, isn't required for no border */
border:1px solid;
border-color:inherit;
background:transparent;
width:100%;
height:100%;
}
</style></head><body>
<a id="happy" href="javascript:void(0);"><div class="dummy"></div><div id="happy_button" class="button"><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpf"></span><span class="shpf"></span><span class="shpf"></span><span class="shpf"></span><span class="shpe"></span><span class="shpe"></span><span class="shpbrk"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span><span class="shpe"></span></div></a>
</body></html>
于 2010-03-23T00:27:49.243 に答える