浏览器中的观察者模式-javascript:订阅事件"添加了Dom元素"并处理这个元素

时间:2015-12-10 07:31:36

标签: javascript jquery observer-pattern

我有一个问题:

 SELECT * 
        FROM workshop_planning_history
        WHERE (STATUS =1
        OR STATUS =2)
        AND (date(start_date) = date '2015 -11 -29'
        OR date(end_date) <=date '2016 -01 -10'
        OR date(end_date) >=date '2016 -01 -10')

表单可以动态显示,即通过javascript构建。我需要在加载后处理它们,如:

$(function() {
    $('form').each(function() {
      // do smthing with form
    });
});

我考虑过使用$('form').onload(function() { // it's called after new form was added to dom }); ,但也许HTML5或新的ES标准带来了新的......

是否有人帮助组建具有上述特征的负载回调?

P.S。澄清目的:我需要将事件处理程序附加到事件&#34;元素已添加到dom&#34;。

2 个答案:

答案 0 :(得分:1)

将其包裹在一个函数

$(function() {
    function modForm() {
    $('form').each(function() {
      // do smthing with form
    });
    }
   modForm();
  $('a').click(function(){
    //add form dynamically
    $('body').append('<form>');
    //call the function agan
     modForm();
  });
});

答案 1 :(得分:1)

实际上有一个事件被现在称为“DOMNodeInserted”而被弃用,使用delegated events是明智的。使用委派事件,您可以处理动态添加到DOM的新元素上的事件。