如何将JS click事件附加到AJAX加载按钮?

时间:2014-10-16 16:03:13

标签: javascript jquery asp.net ajax devexpress

我需要在DevExpress gridview上添加一个JavaScript点击监听器来添加新的记录确认。 我不能使用常规的单击事件监听器,因为它是通过集成到控件中的AJAX加载的。我也无法访问按钮的代码,因此无法扩展它。我唯一拥有的是按钮名称。

理想情况下,我想听DOM上按钮的外观,然后附上听众,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

您无需等待DOM中按钮的外观。

只需使用附加到动态元素的不变的祖先委托事件处理程序

e.g。

$(document).on('click', '.someclass', function(){
   ///
});

如果您只有按钮的元素名称,请使用属性选择器:

e.g。

$(document).on('click', '[name="somename"]', function(){
   ///
});

委托事件通过监听冒泡到不变的祖先的事件来工作(document是默认值,如果没有更接近的可用的话)。它然后在事件时间(而不是在事件注册时)应用选择器。 然后为导致事件的任何匹配元素调用函数

最终结果是,它将与事件发生后可能存在的元素一起使用。

注意:如果没有什么比动态内容更接近,请使用document,但不要使用'body',因为样式可以使其高度为零,并且委派的鼠标事件将无效!