-1

我正在开发一个列出某些产品的网站。在我使用 jQuery 分页对结果进行分页的页面上。我为此目的使用了这个脚本。

所以所有的产品细节都显示在class="data"一个<li></li>

<div class="content">
    <div id="loading"></div>
<div id="container">
       <div class="data"></div>
    <div class="pagination"></div>
</div>  

在这些产品中,我有允许将产品添加到列表中的链接。

<span class="addlist">
<a id="id_1249" class="m-btn" onclick="return false" href="http://index.php/action/add/">Add</a>
</span>

我创建了一个简单的函数来检查点击事件

$(".addlist").click(function() {
   alert("clicked."); 
 });

问题是当我点击添加链接时没有任何反应,也没有提示消息。

经过长时间的测试,我注意到,当我在点击事件<a href="index.php" class="addlist">Visible Text</a>之外放置一个链接 ()时<div id="container">效果很好。但如果它放在里面<div id="container">它不起作用。我$.noConflict();在 jQuery 函数中添加了,但仍然没有用。

有人可以告诉我可能是什么问题吗?

4

4 回答 4

6

由于您addlist是动态添加的,因此您需要使用on()委托事件..

$("#container").on('click',".addlist",(function(e) {
    e.preventDefault();
    alert("clicked."); 
 });

链接以阅读有关 on() 委托事件的更多信息

于 2013-03-23T17:35:43.437 回答
2

我认为你返回 false 太快了。

尝试做:

HTML

<span class="addlist">
<a id="id_1249" class="m-btn" href="http://index.php/action/add/">Add</a>
</span>

JS

$(".addlist").click(function(event) {
   event.preventDefault();
   alert("clicked."); 
 });
于 2013-03-23T17:36:46.363 回答
1

尝试

$('#parent').on('click', '.addlist', function() {
   alert("clicked."); 
});

准备好的文档中可能不存在这些元素。

于 2013-03-23T17:35:36.633 回答
1

这可能是因为您return false在锚点上有一个点击处理程序。删除它,它应该可以工作。

于 2013-03-23T17:38:11.613 回答