0

我有一些 div,当用户悬停这个 div 时,我想执行一些 ajax 调用,触发一些操作并写入有人悬停该 div 的数据库。

没有表单和 link_to,纯 jQuery。

我需要最简单的例子:)

4

2 回答 2

1

基于所选解决方案的工作代码

  $(".hoverable").hover(function(){
                console.log("hovered");
                  $.ajax({
                        type: "POST",
                        url: "/vastrodex",
                        data: {vastroman: $(this).attr('id'), vastrodexCount: 1}, // pass any additional parameters if you need
                        success: function(msg) {
                            console.log(msg); // do something on success e.g. console log the message
                        }
                    });
              },function(){
            });
于 2013-07-11T11:32:55.960 回答
1

我建议为日志创建一个新的模型和控制器,称为 HoverLogger(或任何你喜欢的)。这样,您可以通过调用 HoverLogger 控制器的 create 操作来分离逻辑并在创建日志时保持 RESTful。

假设所需的 div 具有类.hoverable

$(".hoverable").hover(
    function () {
        // send ajax when mouse enters hoverable object
        $.ajax({
            type: "POST",
            url: "/hover_logger",
            data: {logged: true}, // pass any additional parameters if you need
            success: function(msg) {
                console.log(msg); // do something on success e.g. console log the message
            }
        });
    },
    function () {
        // do something when mouse leaves hoverable object
    }
);

在您的创建操作中记录事件:

def create
    HoverLogger.create!(user_id: current_user.id)
    respond_to do |format|
        format.js { render :nothing => true }
    end
end

HoverLogger将跟踪 user_id 和时间戳。还为 HoverLogger 创建方法创建路线。

于 2013-07-10T23:28:26.967 回答