jquery委托onload事件处理程序,用于新创建的元素

时间:2014-11-28 15:55:42

标签: javascript jquery

我将事件处理程序委托给尚未创建的元素:

$('body').on('change', '#some_elementid', function() {
  //actions
});

这是有效的,

但是我想在创建元素之后立即运行actions而没有任何其他事件。 load似乎不起作用..

这里有什么可以实现onload

更新

<div id="some_elementid">
    <button id="addmore">+ add more</button>
</div>

点击+ add more,另一个容器将插入#some_elementid,其中包含一些字段。我想在插入期间预先填充这些字段。

没有预先填充,它看起来像:

<div id="some_elementid">
    <div>
      <input type="text" id="id_0">
      <input type="text" id="id_1">
      ...
    </div>
    <button id="addmore">+ add more</button>
</div>

我想在onload期间进行操作并显示如下:

 <div id="some_elementid">
    <div>
      <input type="text" id="id_0">
    </div>
    <button id="addmore">+ add more</button>
</div>

JSfiddle http://jsfiddle.net/yugaj2x2/

我想在插入时隐藏"two"。因为稍后点击其他一些单选按钮,"two"将显示,但现在不显示。这就是我想要实现的目标

1 个答案:

答案 0 :(得分:1)

您可以在支持它的所有浏览器上捕获事件:

document.addEventListener(
    'load',
    function(event){
        var elm = event.target;
        if( elm.id === 'some_elementid'){ // or any other filtering condition
            // do some stuff
        }
    },
    true // Capture event
);
相关问题