-2

我总共有 20 个链接。前 10 个链接直接对用户可见,其余 10 个链接在用户悬停向下箭头图像(用于悬停)时显示。当用户点击任意一个悬停链接时,直到当前点击的链接被移动到左侧(另一个向下箭头用于通过创建 li 将右侧链接动态添加到左侧)。这个工作正常。但反之亦然。(即)当我单击左侧链接时,它应该导航到右侧。单击事件不适用于我动态创建的 li 元素。请问谁能帮帮我??????

我的示例代码:

//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 的一部分。

所以你可以使用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 而不是 bind 或直接使用 click 功能。

尝试使用以下脚本。

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

});

on 方法将允许您为动态生成的元素(+ 已经存在的元素)绑定 click 事件。

根据许多 ppls 的建议,将实时方法更改为 on

于 2012-10-25T14:26:10.263 回答