繁体   English   中英

Rails-回调中的访问AJAX触发元素

[英]Rails - Access AJAX Triggering Element in Callback

我有一个视图,例如show.js.erb。 我在另一个视图中有一个链接

link_to "MyLink", my_object_path, :remote => true

成功返回show.js.erb视图。 从这个角度来看,我的问题是,有什么方法可以访问触发AJAX调用的元素,而不必依靠生成特定于单个元素的ID来实现。

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

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

我想做一些类似的事情

$(this).after("some new html here");

我的解决方案是将预提交类绑定到元素,在本例中为弹出模式窗口。 这是与上面链接的帖子类似的解决方案,因为它使用了提交前的绑定,但是专门针对类而设计。

在public / javascripts / application.rb中:

jQuery(function($) { 
  $(".poppable").bind("ajax:loading", function() { $(this).addClass("popped"); });
});

然后在我的弹出窗口内容视图中(例如app / views / mymodel / popup.js.erb):

var p = $(".poppable.popped");
p.removeClass("popped");
/* Do what I need to with p ... */

如果这看起来不符合要求,我会全力以赴,但现在可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM