我有一些 div,当用户悬停这个 div 时,我想执行一些 ajax 调用,触发一些操作并写入有人悬停该 div 的数据库。
没有表单和 link_to,纯 jQuery。
我需要最简单的例子:)
我有一些 div,当用户悬停这个 div 时,我想执行一些 ajax 调用,触发一些操作并写入有人悬停该 div 的数据库。
没有表单和 link_to,纯 jQuery。
我需要最简单的例子:)
基于所选解决方案的工作代码
$(".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(){
});
我建议为日志创建一个新的模型和控制器,称为 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 创建方法创建路线。