I have a large div:
.limeskin:hover {
background: #eee;
cursor: pointer;
display: block;
}
that I want to be clickable. Because I'm using Rails I need to have a Rails link be clickable: For example
<%= link_to 'Edit Your Email Address', edit_user_path %>
I'm struggling to this.
Here is the whole block:
<% @user.posts.each do |post| %>
<div class="lists">
<ol class="limeposts">
<li>
<div class="limeskin">
<div class="limebox">
<div class="limecost">
<b>Price:</b>
<%= number_to_currency(post.price, :unit => "R") %><br>
[...]
<% end %>
Any simple legal workable answers?
Thanks
link_to
can accept a block:
<%= link_to root_path do %>
<div>Hey!</div>
<% end %>
This will surround the div with <a>
tags.
Documentation: http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to
Or if you have a big div and want to make it "clickable", using jQuery:
# html.erb
<div class="limeskin">
<div class="limebox">
<div class="limecost">
<b>Price:</b>
<%= number_to_currency(post.price, :unit => "R") %><br>
#[...]
</div>
</div>
</div>
# jQuery.js
$('.limeskin').click( function(event) {
var clicked_div = $(this);
# do stuff with the event object and 'this' which
# represent the element you just clicked on
});
使用 javascript(我推荐 jQuery)使动作真正发生,使用 CSS hover
选择器修改 div 背景和光标(将光标从箭头更改为手形)。
Using Link_to as below would be sufficient even when you have a big block including multiple tags:
<%= link_to desired_path do %>
<div class="linkable">
<another div>
... some other tags
</another div>
</div>
<% end %>
and I recommend you to use a different background color for mouse over events because it shows the viewer that it's a link!
In you .css file:
.linkable:hover{
background-color: red;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.