typeerror$(..)不是函数

typeerror $(...) is not a function

本文关键字:函数 typeerror      更新时间:2023-09-26

我遇到了一个问题,我有以下片段:

$('#new_comment').live('ajax:beforeSend', function(evt, xhr, settings) {
  $(':submit', this).click(function() {
    return false;
  });
});

我用它来禁用提交按钮,因此如果您输入多次,就不允许提交多个评论。

问题是,我在生产时将JS编译成一个文件,因此代码在所有页面上都可用,而且它似乎影响了代码的其他部分。

我在控制台中得到的错误是:

未捕获的类型错误:$(…).live不是函数

我该如何阻止这种情况的发生?

您正在使用哪个版本的jquery?jQuery.live()已在1.9及更高版本中删除。

改为使用这个:

.on(eventType, selector, function)

参考:https://api.jquery.com/on/

live已被弃用,并且已在stackoverflow上给出了其替代方案的答案;s live()已弃用。我现在用什么?

live()的使用已折旧

.live()$(document).on('event', 'selector', function() {});取代
.delegate()$('selector').on('event', 'selector', function() {});取代
.bind()$('selector').on('event', function() {}); 取代