Javascript 简单的jQuery函数没有';在创建输入元素后,不能对其进行操作

Javascript 简单的jQuery函数没有';在创建输入元素后,不能对其进行操作,javascript,jquery,html,Javascript,Jquery,Html,当我点击一个按钮时,我在一个隐藏的div中创建了一些输入元素。这个div将显示这些元素 点击 var=”; $(“#出现”)。单击(函数(){ 复印件+=''; $(“#copiasdoc”).show(); document.getElementById('copiasdoc')。innerHTML+=副本; }); $(“#copiasdoc.ccert”).keyup(函数(){ 警惕(“你好”); }); 当前事件处理程序绑定到一组静态元素(第一次运行时存在的元素)。如果希望处理程序

当我点击一个按钮时,我在一个隐藏的div中创建了一些输入元素。这个div将显示这些元素


点击
var=”;
$(“#出现”)。单击(函数(){
复印件+='';
$(“#copiasdoc”).show();
document.getElementById('copiasdoc')。innerHTML+=副本;
});
$(“#copiasdoc.ccert”).keyup(函数(){
警惕(“你好”);
});

当前事件处理程序绑定到一组静态元素(第一次运行时存在的元素)。如果希望处理程序应用于动态创建的元素,则应使用事件委派:

$("#copiasdoc").on('keyup', '.ccert', function () {
    alert("Hello");
});

当前事件处理程序绑定到一组静态元素(第一次运行时存在的元素)。如果希望处理程序应用于动态创建的元素,则应使用事件委派:

$("#copiasdoc").on('keyup', '.ccert', function () {
    alert("Hello");
});

由于您要动态添加元素,因此需要使用事件委派,您可以使用
$(document)。在('keyup',“#copiasdoc.ccert”,function(){})
上,类似以下内容:


点击
var=”;
$(“#出现”)。单击(函数(){
复印件+='';
$(“#copiasdoc”).show();
document.getElementById('copiasdoc')。innerHTML+=副本;
});
$(document).on('keyup'),“#copiasdoc.ccert”,函数(){
警惕(“你好”);
});

由于您要动态添加元素,因此需要使用事件委派,您可以使用
$(文档)。在('keyup',“#copiasdoc.ccert”,function(){})
上,类似以下内容:


点击
var=”;
$(“#出现”)。单击(函数(){
复印件+='';
$(“#copiasdoc”).show();
document.getElementById('copiasdoc')。innerHTML+=副本;
});
$(document).on('keyup'),“#copiasdoc.ccert”,函数(){
警惕(“你好”);
});
简短回答 应该是:

$("#copiasdoc").on('keyup','.ccert',function () {
    alert("Hello");
}));

解释 jQuery函数的
.on
jQuery将在触发
DOMReady
事件后创建的元素上绑定事件

在此之前,新创建的元素不会将事件绑定到它们。使用上的,如果您将事件处理程序具体绑定到静态父级(在本例中为#copiasdoc)。

工作示例
var=”;
$(“#出现”)。单击(函数(){
复印件+='';
$(“#copiasdoc”).show();
document.getElementById('copiasdoc')。innerHTML+=副本;
});
$(“#copiasdoc”).on('keyup','.ccert',(函数(){
警惕(“你好”);
}));

点击
简短回答 应该是:

$("#copiasdoc").on('keyup','.ccert',function () {
    alert("Hello");
}));

解释 jQuery函数的
.on
jQuery将在触发
DOMReady
事件后创建的元素上绑定事件

在此之前,新创建的元素不会将事件绑定到它们。使用
上的,如果您将事件处理程序具体绑定到静态父级(在本例中为#copiasdoc)。

工作示例
var=”;
$(“#出现”)。单击(函数(){
复印件+='';
$(“#copiasdoc”).show();
document.getElementById('copiasdoc')。innerHTML+=副本;
});
$(“#copiasdoc”).on('keyup','.ccert',(函数(){
警惕(“你好”);
}));

点击

如果您正在日常创建元素,请将单击事件更改为
$(文档)@inarilo这不对。这仅仅是因为元素没有附加任何事件,因为它们是在脚本运行一次之后创建的。如果您通常创建元素,请将单击事件更改为
$(document)@inarilo这不对。这仅仅是因为元素没有附加任何事件,因为它们是在脚本运行一次之后创建的。您的.on和他们的.keyup之间的区别在于您使用了事件委派。on本身并不能解决它们的问题,而是您将处理程序绑定到一个静态父元素(#copiasdoc),并指示jquery仅对捕获的具有.ccert类的子节点(event.target)执行操作,该类将包含动态添加的nodes@RobM. 谢谢你纠正我。我将相应地更新我的解释。另外,感谢您花时间详细介绍在参数中指定父元素时
.on()
事件中发生的情况!不要吹毛求疵,因为你们回答了OPs的问题,但你们的解释是不正确的。您的.on和他们的.keyup之间的区别在于您使用了事件委派。on本身并不能解决它们的问题,而是您将处理程序绑定到一个静态父元素(#copiasdoc),并指示jquery仅对捕获的具有.ccert类的子节点(event.target)执行操作,该类将包含动态添加的nodes@RobM. 谢谢你纠正我。我将相应地更新我的解释。另外,感谢您花时间详细介绍在参数中指定父元素时
.on()
事件中发生的情况!