javascript - 如何将 JS 单击事件附加到 AJAX 加载按钮?

标签 javascript jquery asp.net ajax devexpress

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

理想情况下,我想监听 DOM 上按钮的外观,然后附加监听器,有什么办法可以做到这一点吗?

最佳答案

您无需等待按钮出现在 DOM 中。

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

例如

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

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

例如

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

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

最终结果是,当事件发生时,它将处理稍后可能存在的元素。

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

关于javascript - 如何将 JS 单击事件附加到 AJAX 加载按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26408961/

相关文章:

javascript - 表单提交 jQuery 上的多个函数

c# - 处理并发文件写入

javascript - 正则表达式匹配不起作用

javascript - 通过PHP和Mysqli打开PFD文件

javascript - 使用 javaScript 的日期自动格式化

jQuery 检查元素是否具有特定属性

javascript - async() 等待返回 Promise 而不是数据

javascript - 有没有办法使用 jQuery 自动完成一个字段相对于另一个字段?

C# 对象空检查

c# - 单击超链接字段时获取 gridview 的索引