JQuery-单击(fn)不适用于动态添加的按钮
以前,我使用的代码是有效的。但今天,当我重新使用代码时,它根本不起作用 代码/案例情况: 我预先定义了一个html代码,在现有的默认表单之后插入一个新表单。我正在尝试使用jQuery向新表单中的一个按钮添加一个JQuery-单击(fn)不适用于动态添加的按钮,jquery,Jquery,以前,我使用的代码是有效的。但今天,当我重新使用代码时,它根本不起作用 代码/案例情况: 我预先定义了一个html代码,在现有的默认表单之后插入一个新表单。我正在尝试使用jQuery向新表单中的一个按钮添加一个click函数 $("button[value='ADDTSG']").click(function(){ var NEW = "<div class='w175 mR9 mB9 p9 rCor cWhi' id='fL'><form action='pro/la
click
函数
$("button[value='ADDTSG']").click(function(){
var NEW = "<div class='w175 mR9 mB9 p9 rCor cWhi' id='fL'><form action='pro/lab_handle.php' method='post'><input type='hidden' value='0' name='LID'/><div class='w65 B ttU mR9' id='fL'>TPC</div><input type='text' class='w65 Dg4' name='QTPC'/><br/><hr/><button value='NEWTSG' name='BTN' type='submit'><img src='img/add.png'/></button><button id='fR' type='button' value='XTSG'><img src='img/del.png'/></button></form></div>";
$(".FORCLONE").after(NEW);
$("button[value='ADDTSG']").hide();
$("button[value='SAVETSG']").hide();
});
// buttons below not alerting at all, no function after click on it
$("button[value='XTSG']").click(function(){
alert("close tsg"); return false;
});
$("button[value='NEWTSG']").click(function(){
alert("new tsg"); return false;
});
$(“按钮[value='ADDTSG'])。单击(函数(){
var NEW=“TPC
”;
$(“.FORCLONE”)。在(新的)之后;
$(“按钮[value='ADDTSG']”)隐藏();
$(“按钮[value='SAVETSG'])。隐藏();
});
//下面的按钮根本不发出警报,单击后没有任何功能
$(“按钮[value='XTSG'])。单击(函数(){
警报(“关闭tsg”);返回false;
});
$(“按钮[value='NEWTSG'])。单击(函数(){
警报(“新tsg”);返回false;
});
默认表单的html是
<div id='fL' class='FORCLONE'>
<div id='fL' class='w175 bgBlu1 mR9 mB9 p9 rCor cWhi'>
<form method='post' action='pro/lab_handle.php'>
<input type='hidden' name='LID' value='1'>
<div id='fL' class='w65 B ttU mR9'>TPC</div><input type='text' name='MTPC' class='w65 Dg4' value='555'>
<button type='submit' name='BTN' value='SAVETSG'><img src='img/ok.png'></button>
<button id='fR' type='button' value='ADDTSG'><img src='img/add.png'></button>
</form>
</div>
</div>
TPC
有人能告诉我为什么这不起作用吗?顺便说一句,我正在使用FireFox和web developer插件,即使单击“XTSG”/“NEWTSG”按钮,也没有显示javascript错误。使用(对于较旧的jquery版本-.您的jQuery版本是什么?如果是旧的,
.click()
只绑定页面上已经存在的元素,而不是以后添加的元素。使用这个jquery-1.7.2.min.js,我知道这不是最新的。这个版本有问题吗?那么.click()不能使用吗?那么我应该使用什么呢?.live
不推荐使用。根据您的版本,使用.on
(>=1.7)或.delegate
(<1.7)。您的jQuery版本是什么?如果是旧的,.click()
只绑定页面上已经存在的元素,而不是以后添加的元素。使用这个jquery-1.7.2.min.js,我知道这不是最新的。这个版本有问题吗?那么.click()不能使用吗?那么我应该使用什么呢?.live
不推荐使用。根据您的版本,使用.on
(>=1.7)或.delegate
(<1.7)。
$('#btnALERT1').live('click', function()
{
alert("Hello");
});
$(document).delegate('#btnALERT1', 'click', function()
{
alert("Hello");
});
$(document).on('click', '#btnALERT1', function()
{
alert("Hello");
});