Uncaught TypeError 不是 AJAX 回调函数
Posted
技术标签:
【中文标题】Uncaught TypeError 不是 AJAX 回调函数【英文标题】:Uncaught TypeError is not a function on AJAX callback 【发布时间】:2016-10-25 03:18:44 【问题描述】:在我的application.js
文件中,我有以下内容:
$(document).ready(function()
/* Activating Best In Place */
jQuery(".best_in_place").best_in_place();
$('.highlight_on_success').bind("ajax:success", function()$(this).closest('div.social-comment').effect('highlight'););
);
我正在使用Best In Place gem,它为我提供了上面的函数,可以在我的best_in_place
调用中使用。
但是,当我使用它时,我的 JS 控制台中出现此错误:
Uncaught TypeError: $(...).closest(...).effect is not a function application.self-440dd817e40548768e9.js:25
我该如何解决这个问题并让它发挥作用?
【问题讨论】:
effect()
可能来自 jQueryUI。是否包含在页面中?
嗯,好的。不....我没有使用 jQueryUI。我可以为 vanilla jQuery 使用什么替代方案来获得类似的效果?
仅当您将其编写为名为 effect()
的 jQuery 插件时,因为它是从 best_in_place
内部调用的,我假设
你可以创建一个类似效果的 CSS 过渡,然后添加适当的类。
@Barmar 但要么必须修改原始插件以删除 effect()
调用,要么编写一个具有相同名称的 noop
插件并在 css 中执行此操作
【参考方案1】:
effect()
是 jQueryUI 而非 jQuery 核心的一部分,因此要么需要找到一个不同的编辑脚本,它除了某些 css 之外没有依赖项,要么在页面中使用 jQueryUI 来包含该功能。
我个人会寻找不同的编辑器,例如 X-ediable 或其他类似的插件
【讨论】:
以上是关于Uncaught TypeError 不是 AJAX 回调函数的主要内容,如果未能解决你的问题,请参考以下文章
Nodejs Browserify Uncaught TypeError:存在不是函数
Bootstrap Uncaught TypeError: $(...).modal 不是函数
Javascript Uncaught TypeError:AccountID不是一个函数
为什么Uncaught TypeError:$(...)。fulllCalendar不是函数?