Javascript 如何从动态生成的元素中删除属性
首先,这是一张图片,日历是使用cms生成的,每个元素都有一个onclick事件 单击back和forward按钮将发出新的ajax请求,并返回一组新的元素及其onclick事件 我想在所有元素上附加我自己的事件处理程序,因此我在表上使用jquerydelegate方法,并选择所有锚 问题是这两个事件同时触发,因此我想通过删除onclick属性来否定onclick事件并仅触发我的版本Javascript 如何从动态生成的元素中删除属性,javascript,jquery,Javascript,Jquery,首先,这是一张图片,日历是使用cms生成的,每个元素都有一个onclick事件 单击back和forward按钮将发出新的ajax请求,并返回一组新的元素及其onclick事件 我想在所有元素上附加我自己的事件处理程序,因此我在表上使用jquerydelegate方法,并选择所有锚 问题是这两个事件同时触发,因此我想通过删除onclick属性来否定onclick事件并仅触发我的版本 由cms生成的元素: <a class="elem" href="..." onclick="funct
由cms生成的元素:
<a class="elem" href="..." onclick="function()">text</a>
尝试将其放在.delegate()调用之前:(未测试)
它基本上删除了其中每个元素的现有onclick,允许您用自己的函数替换它。尝试将其放在.delegate()调用之前:(未测试)
它基本上删除了这些元素中每个元素的现有onclick,允许您用自己的函数替换它。在jQuery 1.7中,他们引入了一个
off
方法,该方法将
删除事件处理程序
在jQuery1.7中,他们引入了一个
off
方法,该方法将
删除事件处理程序
当我按下next或previews month时,一组新的标记将通过ajax调用加载并插入,并且它们将有一个onclick事件。您可以在ajax成功区域中设置一个函数,并在该函数中运行此代码段,它也将清除所有新元素的onclick事件。但是,您可能需要编辑该函数以仅选择新元素,这样就不会终止您自己添加的任何先前的onclick事件。那么ajax成功事件是在将元素插入dom之前还是之后运行的呢?(插入元素=成功的ajax调用,然后将元素插入dom)成功事件何时运行?成功之后还是插入之后?您将运行ajax,然后在ajax成功事件中,将HTML附加到dom,问题我对生成表格的脚本没有任何控制,表格是在另一个地方自动生成的问题当我按下下一步或下个月预览时,一组新的标记将通过ajax调用加载并插入,并且它们将有一个onclick事件您可以在ajax成功区域中设置一个函数,并在该函数中运行此代码段,它也将清除所有新元素的onclick事件。但是,您可能需要编辑该函数以仅选择新元素,这样就不会终止您自己添加的任何先前的onclick事件。那么ajax成功事件是在将元素插入dom之前还是之后运行的呢?(插入元素=成功的ajax调用,然后将元素插入dom)成功事件何时运行?成功之后还是插入之后?您将运行ajax,然后在ajax成功事件中,将HTML附加到dom,问题我对生成表格的脚本没有任何控制权它在另一个位置自动生成问题当我按“下一个”或“预览月”时,将通过ajax调用加载并插入一组新的标记,并且它们将有一个onclick事件问题当我按“下一个”或“预览月”时,将有一组新的标记标记将通过ajax调用加载并插入,它们还将具有onclick事件
$("table").delegate(".elem","click", function() {
//DO SOMETHING
});
$('table .elem').each( function(i, elem) {
elem.onclick = false;
});