jquery1.10给新增元素绑定事件的方法


在jQuery 1.10中,给新增元素绑定事件,尤其是动态添加到DOM中的元素,推荐使用`.on()`方法。`.on()`方法提供了一种机制来将事件处理器附加到当前选定的元素集上,并可选择地委托给未来的子元素。这对于动态添加的元素特别有用,因为你可以将事件处理器绑定到已经存在的父元素上,而不是直接绑定到动态生成的元素上。

下面是一个例子,展示如何使用`.on()`方法来给动态添加的元素绑定点击事件:


// 假设我们有一个容器#container,动态元素会被添加到这个容器中
$('#container').on('click', '.dynamic-element', function() {
    // 当.dynamic-element被点击时,执行这里的代码
    alert('动态元素被点击了!');
});

// 假设在某个时刻,我们动态地向#container中添加了一个元素
// 例如,使用append方法添加
$('#container').append('<div class="dynamic-element">点击我</div>');

// 现在,新添加的.dynamic-element元素已经有了点击事件处理器,
// 即使它是在绑定事件处理器之后才被添加到DOM中的。

在这个例子中,`.on()`方法被用于`#container`元素上,而不是直接用于`.dynamic-element`元素上。当`.dynamic-element`被点击时,由于事件冒泡(event bubbling),事件会向上传播到`#container`,然后jQuery会检查事件是否匹配`'.dynamic-element'`选择器,并据此触发事件处理器。这种方法的好处是,你不需要在每次添加新元素时都重新绑定事件处理器。