似乎无法让jQuery .on开火

时间:2013-03-12 15:51:57

标签: javascript jquery events

我正在尝试以特定方式设置客户端验证。我有一些动态的表单,在单击按钮或执行某些操作之前不会显示。所以,这就是我正在做的事情:

$(function() {
    $('#content').on('load', 'form', function(e) {
        /* every form will be inside of div#content */
        setUpStuff();
    });
});

然后按下按钮:

$('#my-button').click(function() {
    displayForm();
    $('form').trigger('load');
});

问题是当触发该事件时,该函数必然会触发。我知道一旦页面加载就会存在div#内容,因为它是静态的。形式是动态的。但是,即使将表单作为静态标记放在页面中并且在页面加载时可用,$('form').trigger('load');仍然无效。

这个代码我哪里错了?

2 个答案:

答案 0 :(得分:2)

尝试使用自定义事件名称,已知load事件无法正常冒泡,并且在这种情况下无法真正描述正在发生的事情。

$(function() {
    $('#content').on('create', 'form', function(e) {
        /* every form will be inside of div#content */
        setUpStuff();
    });
    $('#my-button').click(function() {
        displayForm();
       $('form').trigger('create');
    });
});

答案 1 :(得分:1)

nvm,看起来你得到了它:)

我想我知道你得到了什么,你尝试过使用.load()方法吗?

$('#my-button').click(function() {
    displayForm();
    $('form').load(function(){
     setUpStuff();
  });
});

http://api.jquery.com/load-event/