0

好的,我刚刚发现了事件委托,点击问题:动态生成的链接未触发点击功能我的问题如下。

UL 通过 jQuery load() 调用加载。

<ul id="activityPaganation" class="paganation">
    <li>1</li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li><a href="#">6</a></li>
</ul>

jQuery 的第一部分将通过分页链接加载到上述 UL 中。jquery 的第二部分从您单击的分页链接中获取分页页码,现在是问题:

单击分页链接后,我无法加载更新的页面#accountActivity,这是委托问题还是我正在尝试做的事情是不可能的,分页链接是否无法看到#accountActivity,因为这是初始负载加载到?!

$(document).ready(function() {
    if($('#accountActivity')) {
       $('#accountActivity').load('ajax.php?id=3');
    }

    $(document).on("click", "#activityPaganation li a", function(e) {
       e.preventDefault();
       var pid = $(this).text();
       $('#accountActivity').load('ajax.php?id=3&value='+pid);
    });
});

提前感谢所有帮助。

4

2 回答 2

1
$(document).ready(function() {
    if($('#accountActivity')) {
       $('#accountActivity').load('ajax.php?id=3');
    }

    $('#activityPaganation').on("click", "li a", function(e) {
       e.preventDefault();
       var pid = $(this).text();
       $.post('ajax.php',{id:'3',value:pid},function(response) {
            $('#accountActivity').html(response);
       });
    });
});

IF#activityPaganation不是动态创建的。

于 2013-07-10T22:07:38.037 回答
0

我认为您的想法是正确的,只是语法对我来说似乎有点不对劲。我在这里进行了尝试,有点像 jQuery 菜鸟,所以如果它不起作用,请耐心等待:

将第二个代码块更改为:

$('#activityPaganation li a').click(function(e) {
   e.preventDefault();
   var pid = $(this).text();
   $('#accountActivity').load('ajax.php?id=3&value='+pid);
});

我也总是使用 alerts() 来确定它是否拾取某些变量。在为 pid 赋值后尝试发出警报(即:alert(pid);)。如果它是空白的,你就知道它没有被正确分配。如果它根本没有出现,那么它面前就有麻烦了。

于 2013-07-10T22:13:03.947 回答