选项1
要使按钮响应单击并将鼠标悬停在其他 div 上,您可以尝试执行以下操作:
在您的视图中,您为按钮提供了一个唯一的 id,并向应该充当触发器的元素添加了一些类:
<%= button_to('Get Transfers', {action: 'get_transfers', section_id: params[:section_id]}, method: :get, remote: true}, {id: 'remote_hover_button'}) %>
<div class="some_trigger">Hover me!</div>
在您的 js 中,您希望绑定到该触发元素并触发按钮上的单击事件:
$(document).ready(function(){
$('.some_trigger').hover(function(){
$('#remote_hover_button').trigger('click');
});
});
选项 2
通过创建悬停的 div 手动编写 ajax 并为其提供要调用的 url:
<div class="some_trigger" data-url="<%= url_for(action: 'get_transfers', section_id: params[:section_id]) %>">Hover me!</div>
绑定到 div 并进行 ajax 调用:
$(document).ready(function(){
$('.some_trigger').hover(function(){
$.ajax($(this).data('url'));
});
});
这实际上只会触发操作,而不会对响应执行任何操作。您可以使用以下方式绑定到结果:
$(document).ready(function(){
$('.some_trigger').hover(function(){
$.ajax($(this).data('url'))
.done(function() { alert("success"); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
});
});
有关 ajax 函数的更多信息,请查看文档。