0

Jquery を使用して DOM を作成しているため、出力をコピーするのが困難だったため、1 つのツールを使用してキャプチャしたコードのイメージを 1 つ追加しています。

ここに画像の説明を入力

id='nf1'このコードを使用して、ホバーとマウスアウトのイベントを添付しました

$("#nf"+n).hover(function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").show();
});
$("#nf"+n).mouseout(function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").hide();
});

ここで n は post_id であり、応答から取得したすべての post_id をループしてid='nf1post_delete'います。

不明な点は質問してください

4

3 に答える 3

1

.on()DOMを操作しているので、次の代わりにjQueryを使用することをお勧めし.hover()ます。

$(document).on({
  mouseover: function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").show();
  },
  mouseout: function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").hide();
  }
}, "#nf"+n);

ページの読み込み後にDOMで何かを作成する場合は、.on()イベントリスナーをそれに接続するのに役立ちます。

.on()用のjQuery API

于 2012-07-27T17:56:25.323 に答える
1

まず、.hover() には mouseenter と mouseleave が含まれます。そこに両方の​​機能を入れて、追加のイベントを使用しないでください。また、mouseout() も使用しないでください。代わりに mouseleave() を使用してください。

したがって、 hover(function(){},function(){}); を使用します。単独で、または mouseenter() と mouseleave() を使用します。

于 2012-07-27T17:52:13.107 に答える
1

これを説明している方法では、実際には に 2 つの関数を渡したいと思うでしょう.hover()。1 つは mouseenter のアクション用で、もう 1 つは mouseleave のアクション用です。に渡すことができる関数は 1 つだけですが.hover()、ロールオーバー時とロールアウト時にその関数が実行されます。

http://api.jquery.com/hover/

したがって、代わりにこれを試してください:

$("#nf"+n).hover(function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").show();
},function(){
    $("#nf"+$(this).attr("post_id")+"post_delete").hide();
});

.mouseout()機能はまったく必要ありません。

于 2012-07-27T17:49:38.573 に答える