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

问题描述:

我有一个视图,比如说show.js.erb。并且我在另一个视图中有链接Rails - 在回调中访问AJAX触发元素

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

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

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

我试过使用$(this)但是不起作用。

我想沿着

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

你的问题是非常类似于:http://*.com/questions/4774818/form-for-being-submitting-by-2-links-how-to-i-tell-which-was-used-当我回来 – apneadiving 2011-01-24 13:49:10

我的解决方案的线路做一些事情是绑定一个预提交类的元素,在我的情况下弹出模态窗口。这是与上面链接的帖子类似的解决方案,因为它使用预先提交的绑定,但是定制为使用类来代替。

在公共/ Java脚本/ application.rb中:

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

jQuery(function($) { 
    $(".poppable").bind("ajax:loading", function() { $(this).addClass("popped"); }); 
}); 
在我的弹出内容(例如应用程序/视图/为MyModel/popup.js.erb)查看

然后如果这看起来不是犹太教,我全都耳闻,但它现在工作。