解决方案:
感谢Shmiddty,我想出了这个:
$( static parent element ).on('submit', '#add_client', function(e) {
e.preventDefault();
firm.addUser( $(this), '/ci/firm/add_client', 'client' );
});
说明
我为客户构建了一些表单。我希望根据他点击的链接动态创建此表单。此表单将自动填充一些数据。
以下是将创建动态内容的jQuery
:
$('.create').on('click', function(e) {
e.preventDefault();
utility.create_modal(); // dynamic div with form
});
这是创建div并将PHP
表单放在html
中的函数:
$(document.createElement('div')).attr({
'class' : 'span3'
}).html( create_div( '/ci/firm/return_user_form/client', 'html' ) ),
以下是ajax
功能:
var result = '';
$.ajax({
url: path,
type: 'get',
dataType: type,
async : false,
success: function(data) {
result = data;
}
});
return result;
这是从PHP
文件中提取的html :(这是一个巨大的形式,我只是要包含有问题的按钮)
<input type="submit" name="submit" value="Add Client" id="add_client">
问题:
此动态html
内容中包含一个表单。我想在我包含的表单上放置JavaScript
事件。这可能吗?如果是这样,我该怎么做?
这不起作用(#add_client
是表单中按钮的ID):
$('#add_client').on('click', function(e) {
e.preventDefault();
});
答案 0 :(得分:2)
$('some_parent_selector').on('click', '#add_client', function(e) {
e.preventDefault();
});
on
侦听器需要一个父对象(不是动态的)来侦听冒泡的点击事件。然后,当事件冒泡到父级时,它会确定它是否来自'#add_client'
,如果是,则会调用您的匿名函数。