2

解决方案:

感谢 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();
});
4

1 回答 1

2
$('some_parent_selector').on('click', '#add_client', function(e) {
    e.preventDefault();
});

侦听器on需要一个父对象(不是动态的)来侦听冒泡的点击事件。然后,当事件冒泡到父级时,它会确定它是否来自'#add_client',如果是,它会调用您的匿名函数。

于 2012-08-29T18:31:33.030 回答