我有this ajax function和jquery。 (http://pastie.org/798788)
输出如下。
<div class="content">
<h1>Latest Messages or Task To Do</h1>
<ul style="display: block;" id="message_ul">
<li class="86">
<div class="listbox"><span class="user">
<strong>Administrator</strong></span>
<span class="date">2010-01-28 08:57:43</span>
<a href="http://127.0.0.1/ci_backendpro2/index.php/messages/admin/changestatus/86"
class="todo">to do</a>
<span class="msg">Change links in message, to do, completed
and delete to anchor </span>
</div>
</li>
<li class="85">
<div class="listbox"><span class="user">
<strong>Administrator</strong></span>
<span class="date">2010-01-28 08:51:15</span>
<a href="http://127.0.0.1/ci_backendpro2/index.php/messages/admin/changestatus/85"
class="todo">to do</a>
<span class="msg"> meta tag keywords and
description should show from page input/database </span>
</div>
</li>
<li class="84">
...
...
现在我正在尝试使用class =“todo”添加另一个ajax。但是,当我尝试这个测试。它没有警觉。它执行php函数。
$(".todo").click(function(){
event.preventDefault();
alert("hei");
});
我不确定为什么。是因为它是由ajax创建的吗?
它与绑定有关吗?我怎样才能使它发挥作用?
我正在使用CodeIgniter。
答案 0 :(得分:2)
看起来您需要使用live - 样式事件绑定和将事件对象命名为click处理程序的参数。
$(".todo").live('click', function(event) {
event.preventDefault();
...
});
答案 1 :(得分:1)
您需要使用live事件:
$(".todo").live('click', function() { // <- Extend the "click" event to every .todo element created in the future
event.preventDefault();
alert("hei");
});
答案 2 :(得分:0)
不确定我完全理解一切是怎么回事。但是,如果在执行'bind'函数后插入带有'todo'类的链接,则需要: a)重新调用绑定函数(首先解除绑定)。 b)使用jquery live函数,以便自动附加到任何新的'todo'类。