我有一个<div>使用id="modal"jQuery load()方法动态生成的:
$('#modal').load('handlers/word.edit.php');
Run Code Online (Sandbox Code Playgroud)
word.edit.php包含一些输入元素,它们被加载到一个模态中<div>.
使用jQuery的keyup方法我可以在事件触发后捕获输入值,但是当元素被动态添加到模态div时,当用户输入文本时,事件不会激活.
哪个jQuery方法支持处理由动态创建的元素触发的事件?
用于创建新输入元素的代码是:
$('#add').click(function() {
$('<input id="'+i+'" type="text" name="translations' + i + '" />')
.appendTo('#modal');
Run Code Online (Sandbox Code Playgroud)
捕获用户值的代码是:
$('input').keyup(function() {
handler = $(this).val();
name = $(this).attr('name');
Run Code Online (Sandbox Code Playgroud)
第二个代码块似乎适用于原始元素,但新动态生成的元素不会触发它.
我正在尝试将新DOM对象附加到某个Div并且它可以工作,但不知何故 - 我为这些新附加对象编写的事件没有响应.这是为什么?
我在这里附上一个简单的例子:点击段落应该隐藏的任何段落.然而,对于使用.append添加的段落,它不起作用.
有我的代码:
$(document).ready(function(){
$("#add").click(function(){
$("#containerDiv").append("<p> I should hide as well if you click me </p>");
});
$("p").click(function(){
$(this).hide();
});
});
Run Code Online (Sandbox Code Playgroud)