jquery动态创建的元素,是不能直接使用click等事件触发的,比如:
//jquery 动态创建addfujian链接
$("#reup").click(function()
{
$(this).after("<a id='addfujian' href='javascript:void(0)'>添加附件</a>");
});
如果对addfujian进行点击的话,下面的程序是不对的:
$("#addfujian").click(function() {
alert("click me!");
});
要达到对动态创建的元素添加事件的目的,有两种方法:
1、使用live
live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。
通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。
所以:
$("#addfujian").live('click',function() {
alert("click me!");
});
2、使用javascript:
//js 函数
function clickme()
{
alert("click me");
}
//jquery 动态创建addfujian链接
$("#reup").click(function()
{
$(this).after("<a id='addfujian' href='javascript:void(0)' οnclick='clickme()'>添加附件</a>");
});