Javascript 我将jQuery升级到1.9.1,但脚本有问题

Javascript 我将jQuery升级到1.9.1,但脚本有问题,javascript,jquery,Javascript,Jquery,我曾尝试编辑此脚本以使用jQuery1.9.1标准,但它仍然不起作用。我的代码在下面 $(document).on('each', 'a.delete', function(index, element) { $(element).click(function() { alert('here'); }); }); 它只是在控制台中没有错误的情况下无法工作。但是如果我删除on方法,我会让它在1.3.2版本上工作。试试这个 $('a.delete').each(f

我曾尝试编辑此脚本以使用jQuery1.9.1标准,但它仍然不起作用。我的代码在下面

$(document).on('each', 'a.delete', function(index, element) {
    $(element).click(function() {
        alert('here');
    });
}); 
它只是在控制台中没有错误的情况下无法工作。但是如果我删除on方法,我会让它在1.3.2版本上工作。

试试这个

$('a.delete').each(function(index, element) {
    $(element).click(function() {
        alert('here');
    });
});
用于简化代码

$('a.delete').on('click',function() {
     alert('here');
});
如果他们正在动态创建,那么请尝试

$(document).on('click','a.delete',function() {
     alert('here');
});
试试这个

$('a.delete').each(function(index, element) {
    $(element).click(function() {
        alert('here');
    });
});
用于简化代码

$('a.delete').on('click',function() {
     alert('here');
});
如果他们正在动态创建,那么请尝试

$(document).on('click','a.delete',function() {
     alert('here');
});
试试这个:

$(document).ready(function(){
    $("a.delete").click(function(){
        alert("here");
    });
)};
试试这个:

$(document).ready(function(){
    $("a.delete").click(function(){
        alert("here");
    });
)};

无需遍历所有锚定标记,只需通过如下所示的锚定标记类来使用事件委派即可。这是更有效、更少的代码和最佳实践

$('a').on('click','.delete', function() {
    alert('here');
});

无需遍历所有锚定标记,只需通过如下所示的锚定标记类来使用事件委派即可。这是更有效、更少的代码和最佳实践

$('a').on('click','.delete', function() {
    alert('here');
});

没有语法错误,但您的代码不起作用,因为
每个
都不是要从函数处理的有效事件;所以它永远不会被解雇

您可以使用jQuery:

将一个或多个事件的事件处理程序函数附加到 选定的元素

并将单击处理程序附加到所有匹配的元素

代码:

演示:

或者,如果动态添加了元素,则可以使用事件委派:

大多数浏览器事件从最深处冒泡或传播, 文档中发生事件的最内层元素(事件目标) 一直到主体和文档元素。在互联网上 Explorer 8和更低版本,一些事件(如更改和提交)不会 本机冒泡,但jQuery修补这些冒泡并创建 一致的跨浏览器行为

如果选择器被省略或为null,则事件处理程序称为 直接的或直接绑定的。每次事件发生时都会调用处理程序 发生在选定图元上,无论它是否直接发生在 元素或来自子代(内部)元素的气泡

当提供选择器时,事件处理程序称为 委派。当事件直接发生在上时,不调用处理程序 绑定元素,但仅适用于 匹配选择器。jQuery将事件从事件目标向上冒泡 到处理程序所附加的元素(即,最内层到 最外层的元素),并为沿着该元素的任何元素运行处理程序 与选择器匹配的路径

代码:


演示:

没有语法错误,但您的代码无法工作,因为
每个
都不是要从函数处理的有效事件;所以它永远不会被解雇

您可以使用jQuery:

将一个或多个事件的事件处理程序函数附加到 选定的元素

并将单击处理程序附加到所有匹配的元素

代码:

演示:

或者,如果动态添加了元素,则可以使用事件委派:

大多数浏览器事件从最深处冒泡或传播, 文档中发生事件的最内层元素(事件目标) 一直到主体和文档元素。在互联网上 Explorer 8和更低版本,一些事件(如更改和提交)不会 本机冒泡,但jQuery修补这些冒泡并创建 一致的跨浏览器行为

如果选择器被省略或为null,则事件处理程序称为 直接的或直接绑定的。每次事件发生时都会调用处理程序 发生在选定图元上,无论它是否直接发生在 元素或来自子代(内部)元素的气泡

当提供选择器时,事件处理程序称为 委派。当事件直接发生在上时,不调用处理程序 绑定元素,但仅适用于 匹配选择器。jQuery将事件从事件目标向上冒泡 到处理程序所附加的元素(即,最内层到 最外层的元素),并为沿着该元素的任何元素运行处理程序 与选择器匹配的路径

代码:


演示:

我终于能够解决这个问题了。以一种非常简单的方式。虽然我从一些帖子中得到了一些对我来说并不完美的想法

$(document).on('click','a.delete',function() {
             alert('here');
});

我终于解决了这个问题。以一种非常简单的方式。虽然我从一些帖子中得到了一些对我来说并不完美的想法

$(document).on('click','a.delete',function() {
             alert('here');
});

您收到了什么错误?您是否正在尝试迭代
a.delete
元素?尝试
$('a.delete')。每个(函数(){…})我没有收到任何错误。它只是不起作用@AnzeoI正在通过ajax显示行列表。每个角色将包含一个带有类delete的标记元素。我想使用删除图标来删除每个角色。您收到了什么错误?您是否正在尝试迭代
a.delete
元素?尝试
$('a.delete')。每个(函数(){…})我没有收到任何错误。它只是不起作用@AnzeoI正在通过ajax显示行列表。每个角色将包含一个带有类delete的标记元素。我想使用删除图标来删除每个角色。它不起作用。delete元素是通过ajax调用在页面上创建的。但是在1.3.2中使用它之前,我使用了live方法,我不知道为什么它不工作。这让我很沮丧。live不受欢迎。您应该根据jQuery文档开始使用.on。文档中指出了.live的许多问题,这也是为什么它被.on.Thank取代的原因。感谢上一个脚本的工作。我又试了一次,但没用。delete元素是通过ajax调用在页面上创建的。但是在1.3.2中使用它之前,我使用了live方法,我不知道为什么它不工作。这让我很沮丧。live不受欢迎。您应该根据jQuery文档开始使用.on。文档中指出了.live的许多问题,这就是为什么它是b