【问题标题】:Change jQuery to Prototype?将 jQuery 更改为原型?
【发布时间】:2011-08-24 18:11:46
【问题描述】:

我正在尝试使用 AJAX 更新页面上的部分内容。我遵循在线教程并意识到一件事,我使用的 .js.erb 文件包含 jQuery 代码,而我的应用程序设置为使用 Prototype。 .js.erb 文件可以包含原型代码,还是只包含 jQuery?这段代码可以用Prototype写吗?

filter.js.erb:

$("#filter").update("<%= escape_javascript(render(:partial => "filter")).html_safe %>");

有什么建议吗?

【问题讨论】:

  • 我不确定 .update() 方法的作用,但您似乎只是在具有过滤器 ID 的元素内呈现“过滤器”的内容。实际上, .update 方法似乎来自 Prototype 而不是 jQuery api.prototypejs.org/dom/Element/update ?所以你的页面中没有 jQuery(原型也使用 $,所以你可能会误以为它是 jQuery)。
  • @LEOPiC 对,但棘手的部分是
    在 show.html.erb 内部,并且过滤器操作不应该有自己的视图,它应该只需在显示提交表单时运行.. stackoverflow.com/questions/7179758/…

标签: jquery ruby-on-rails ajax prototypejs


【解决方案1】:

根据您拥有的 Rails 版本,您可能需要 JS 适配器 (https://github.com/rails/jquery-ujs)

如果您在其中一个模板中包含 jquery.js,则可以使用 jQuery 代码,但要使用 Rails 特定的 javascript 功能,您需要设置适配器。

据我所知,对于 Rails-UJS 来说,这是一个非此即彼的命题。 jQuery 和 Prototype 都支持“无冲突”模式,但是 Rails 不能同时使用这两个库来做不显眼的 javascript。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2012-03-29
    • 2015-03-22
    • 2011-05-05
    • 2018-05-05
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多