typeerror $(...)不是函数

时间:2015-11-27 12:17:04

标签: javascript jquery

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

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

我用来禁用提交按钮,因此如果多次输入,则不允许提交多条评论。

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

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

  

未捕获的TypeError:$(...)。live不是函数

如何阻止这种情况发生?

3 个答案:

答案 0 :(得分:3)

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

改为使用:

.on(eventType, selector, function)

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

答案 1 :(得分:0)

live已弃用,并且已在stackoverflow上为其替代方案提供了答案,请检查此jquery's live() is deprecated. What do I use now?

答案 2 :(得分:0)

live()的使用已被折旧。

.live()替换为$(document).on('event', 'selector', function() {}); .delegate()替换为$('selector').on('event', 'selector', function() {}); .bind()替换为$('selector').on('event', function() {});