-2

全部で 20 個のリンクがあります。最初の 10 個のリンクはユーザーに直接表示され、残りの 10 個のリンクはユーザーが下向き矢印の画像 (ホバーに使用) にカーソルを合わせると表示されます。ユーザーがいずれかのホバー リンクをクリックすると、現在クリックされているリンクまでのリンクが左側に移動します (li を作成して右側のリンクを動的に左側に追加するために使用される別の下向き矢印)。これは正常に機能していますが、これは逆に機能していません。(ie) 左側のリンクをクリックすると、右側に移動する必要があります。動的に作成した li 要素に対して Click イベントが機能しません。誰か助けてください??????

私のサンプルコード:

//To append the line from right hover to looplink div
$('#loop_link').append('<li id="pagelinkli_'+val3+'">'+$('#pagelinkli_'+val3).html()+'</li>');

//To hide the link in right hover div once it selected and appended in loop link div
$('#pagelink_a  #pagelinkli_'+val3).css('display','none');

//This line to move the link from loop link to left hover div
$('#pagelink_a_left ul').prepend(('<li id="pagelinkli_'+val6+'">'+$('#pagelinkli_'+val6).html()+'</li>'));

//This line to hide the link in looplink div              
$('#loop_link #pagelinkli_'+val6).css('display','none');  

このコードは、リンクを右ホバーからタブに、タブから左ホバーに、またはその逆にナビゲートするようなものです.....

4

3 に答える 3

3

http://api.jquery.com/on/

$("#pagelink_a_left").on("click", "li", function() {
    alert($(this).html());
});

http://jsfiddle.net/yakbQ/

于 2012-10-25T14:24:31.517 に答える
0

問題は、新しいリンクが動的に追加され、ページが読み込まれたときに DOM の一部ではなかったことです。

SO livejquery関数を使用できます(LIVEは非推奨なのでお勧めしません)またはこのようなものを使用できます

$("body").on("click", "link div", function() {
    $('#loop_link').append('<li id="pagelinkli_'+val3+'">'+$('#pagelinkli_'+val3).html()+'</li>')
});
于 2012-10-25T14:26:38.903 に答える
-1

バインドの代わりに on を使用するか、クリック機能を直接使用してみてください。

以下のスクリプトを使用してみてください。

$(".listContainer").on("click","li",function() {

});

on メソッドを使用すると、動的に生成される要素 (+ 既に存在する要素) のクリック イベントをバインドできます。

多くのpplsの提案に従って、ライブメソッドを次のように変更しました

于 2012-10-25T14:26:10.263 に答える