问题标签 [jquery-callback]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3912 浏览

javascript - 包含动画选项时 Jquery 回调不起作用(砌体插件)

我正在为我正在尝试构建的站点实施 David DeSandro 的 JQuery Masonry 插件。我正在尝试对砌体功能运行回调,以便在它运行后滚动到页面中的相关部分,但由于某种原因,当我打开动画时无法使其工作。可以在http://desandro.com/demo/masonry/docs/#options查看文档。当我运行以下代码时,它可以正常工作,并且只有在砌体功能运行后才会发出警报:

但是,当我使用包含动画选项的以下代码运行以下代码时,警报会在动画完成之前运行:

我真的很感激任何人都可以给我的关于如何防止警报发生的任何指示,直到动画完成,因为我被难住了!非常感谢你的帮助,

戴夫

0 投票
1 回答
367 浏览

ruby-on-rails - Rails - 在回调中访问 AJAX 触发元素

我有一个观点,比如 show.js.erb。我在另一个视图中有一个链接,这样

成功返回 show.js.erb 视图。我的问题是,从那个角度来看,有没有办法访问触发 AJAX 调用的元素,而不必求助于生成特定于单个元素的 id ...

我希望能够使用此视图回调在单击的任何元素旁边打开一个小对话框,但我似乎找不到访问触发元素的方法。

我尝试使用 $(this) 但这不起作用。

我想做一些类似的事情

0 投票
1 回答
930 浏览

jquery - 在jquery中停止父函数时防止回调被停止?

它有点像这样:

因此,如果鼠标在第一个动画完成之前离开该区域,它将停止所有动画,并跳过回调。有没有办法使用 stop() 并仍然执行回调函数?

0 投票
1 回答
1190 浏览

jquery-ui - 插件内的jQuery-UI对话框立即使用回调触发

我在插件中使用 jQuery-UI,并尝试为close:对话框事件设置回调函数。我认为我做错了,因为它在页面加载时立即触发(2x)而不是在对话框关闭时触发。

插件代码

调用页面代码

任何关于我做错了什么的建议都值得赞赏。

0 投票
3 回答
1759 浏览

jquery - fadeToggle jQuery callback before, not after

Is there a way to assign a callback before the fade animation occurs in fadeToggle? I am adjusting scroll positions and would like to adjust it before the object appears, not after.

0 投票
1 回答
306 浏览

jquery - jQuery $.get 加载相关数据但不执行回调

以下不是跨域问题,但它闻起来像一个。

所以这是我的设置(这很快让我变灰了):

我有一个 index.html 文件,它正在加载一个名为 config.json 的平面文件,该文件位于 index.html 旁边。我已经使用了 $(document).ready() 和 window.addEventListener('load'... 来做到这一点:

警报几乎从不触发。这发生在 Chrome 9 和 Firefox 3.6 和 FF4 中。其他浏览器没试过。我在网络选项卡下查看 Firebug 和开发控制台,我可以看到 config.json 加载。它具有正确的标头(应用程序/json)。所以数据正在加载,但回调函数不会触发。

但是,在 Firefox 中,如果我以快速双倍模式(如心跳)刷新,那么我的警报偶尔会触发。我只能让 Firefox 在 3.6 中做到这一点,所以我假设它是因为 js 引擎比 v4 和 Chrome 慢一点。

最重要的是,它变得陌生。如果我在同一个域上设置 config.json 的完整路径,则无法加载。如果我将 config.path 设置为http://localhost/config.json并从http://local.mac.com/访问该站点,我的警报就会着火!如果我从 localhost 切换域和访问并使用http://local.mac.com(或 abcdef.com)作为 config.json,它也会触发。

我在 /etc/hosts (mac) 中有一个“local.mac.com”域设置,所以我可以用它而不是 localhost 来测试站点。我还在“abcdef.com”的 /etc/hosts 中尝试了另一个域,并得到了相同的结果。

一定有什么我只是想念的东西,因为我的时间快凌晨 2 点了,但我很困惑。谁能告诉我到底发生了什么?

0 投票
2 回答
290 浏览

jquery - 为什么我的动画后 IE 的边距不正确?

我正在为我的网站的动态布局使用 jQuery Masonry(谷歌它,它非常棒)。

出于某种原因,当我在执行 .load() 事件后调用 Masonry 时,我并没有完全得到预期的布局。

要了解我的意思,请访问http://keepskatinbro.com,然后单击任何框将其展开打开,然后您会注意到布局已调整,以便封闭的框漂浮在打开的框周围。问题是打开的框下方的框与打开的框的底部重叠。

如果您调整浏览器的大小(恢复,然后最大化),您将看到正确的布局,因为当浏览器大小改变时 Masonry 会触发。请注意,在调整浏览器大小后,打开的大框下方现在有一个边距。

在我动态打开并将内容注入盒子后,这个边距需要存在。

不过,它在其他浏览器中也能完美运行。

这是使一切发生的代码。几个函数,最后最后一个块调用包括 masonize() 在内的所有函数。Masonize() 本身运行良好,但在回调中,我似乎遇到了所描述的问题:

知道可能是什么问题吗?先感谢您!

0 投票
1 回答
829 浏览

jquery - 如何从 .ajax 回调中获取变量?

我正在使用 editInPlace jquery 插件进行编辑:

它的设置是:

我的问题是我将 .ajax 成功时从服务器端返回的内容作为 html 变量获取。但是在设置中看不到这个变量(在 .ajax 调用之外)。如果它不可见,我无法确定回发是错误的还是良好的价值,并且我无法正确响应。

  1. 有没有办法在 .ajax 函数之外的回调中查看 html 变量?
  2. 如果没有,有没有办法可以将 .ajax 函数中的 html 值返回到内联编辑器的回调?
  3. 如果不是,那么在回调中进行另一个 ajax 调用以检查单词是否存在的唯一方法是什么?
0 投票
2 回答
209 浏览

jquery - 插件调用者中的 jQuery 方法

我正在编写我的第一个 jQuery 插件,但遇到了一些障碍。基本上,这是我希望插件调用者执行的操作,但我不确定如何构建插件:

因此,基本上,“dataloader”值是必需的,花括号内的选项是可选设置,而 buildComplete 是一个在完成某事后执行的函数。

我不确定如何在插件调用者中实现“buildComplete”功能(或类似功能)。我避免下面显示的方式,因为“buildComplete”对于使用的每个页面都会有所不同:

有没有一个基本的例子可以让我找到一些东西?

谢谢, spryno724

0 投票
3 回答
16475 浏览

jquery - jquery ajax 忽略 500 状态错误

我正在向 App Engine 应用程序发出一些 GET 请求,在 Chrome 中进行测试。虽然我可以在 javascript 控制台中看到某些调用导致 500 服务器错误,但尽管阅读了许多类似的 SO 线程,但我似乎无法在我的 jQuery 代码中捕获此错误。我知道它表示服务器端错误,但我仍然希望能够从我的 javascript 中捕获这样的错误。

我需要捕获错误,以便我可以计算响应的数量(成功或其他)并在收到所有呼叫响应时触发另一个函数。

Chrome 控制台输出:

我的电话:

我尝试了以下一些方法:
添加:

来电。

使用:

有人对我如何捕捉 500 响应有什么建议吗?

谢谢奥利

更新:

根据响应,我的 jquery 代码似乎是正确的,但由于某种原因,它只能捕获从我的应用程序收到的某些 500 个响应。这可能是 App Engine 如何返回错误的问题(我对此了解不多),或者 jquery 如何使用 jsonp 处理错误 - 这一点在本文的最后一段中进行了简要讨论

我通过使用jquery-isonp来实现它,它捕获了应用程序抛出的所有 500 状态。