Tag: 事件处理数据表

jquery datatables使用实时函数多次调用事件处理程序

我正在使用jquery数据表来显示一些数据。 每行都有一个编辑按钮,我使用live()注册一个点击处理程序,以便它与分页一起使用。 我是按类进行的,因为我必须每行都这样做。 类似于: 具有实时点击事件function的数据表 这很好用。 但问题发生在用户再次进行搜索并且我执行ajax请求以获取一组新结果时。 我只是用一个新的替换dom中的现有表。 现在当我点击第1行时,它会弹出第1行的编辑对话框。我点击第2行,弹出第1行的编辑对话框。我再次点击第2行,这次会弹出第2行的编辑对话框。 然后我一次又一次点击第3行。 在显示第3行的对话框之前,它会弹出第2行的编辑对话框三次。 这种情况在不断增加。 我不明白我是否用jquery替换div中的整个dataTable为什么要注册多个事件? 如果它很重要,我在对话框初始化程序中将autoopen设置为false,并且我明确地打开并关闭它。 编辑(更多细节) : 我很难创建一个示例…但是更多细节…我发现由于我使用live()函数来跨分页注册调用,因此存在点击注册机制。 因此,当我用相同的结构替换表时,由于第一次调用live(),因此注册了click函数。 但是我默认再次调用live(),现在注册了两个click事件。 然后当我再次更换时,会注册三个事件点击。 我在检查点击事件是否已经注册后,通过使用jquery click()注册事件来尝试克服这个问题。 帮助处理多个事件部分,但不会跨数据表页面注册事件。