说明
以下代码片段在Android / iPhone中用于Roundabout carousal。每个LI的宽度和高度均为100px x 100px
。并且链接是LI的顶部。
<div data-role="content" data-theme="aa">
<ul class="roundabout-holder">
<li class="roundabout-moveable-item">
<a href="<%= url_for :action => :graph %>"> <%= label_for:link %></a></li>
<li class="roundabout-moveable-item">
<a href="<%= url_for :action => :graph %>"> <%= label_for:link %></a></li>
<li class="roundabout-moveable-item">
<a href="<%= url_for :action => :graph %>"> <%= label_for:link %></a></li>
<li class="roundabout-moveable-item">
<a href="<%= url_for :action => :graph %>"> <%= label_for:link %></a></li>
<li class="roundabout-moveable-item">
<a href="<%= url_for :action => :graph %>"> <%= label_for:link %></a></li>
</ul>
</div>
CSS
.roundabout-holder {
list-style: none;
width: 75%;
height: 10em;
margin: 1em auto;
}
.roundabout-moveable-item {
height: 100px;
width: 100px;
border: 1px dotted #999;
background-color: #f3f3f3;
font-size: 2em;
cursor: pointer;
}
当前行为: 在项目中,Anchor仅表现为链接(跳转到给定引用)
预期行为 当用户点击LI时,它应该跳转到给定的引用。
来自stackoverflow的相对资源
How do I make the whole area of a list item in my navigation bar, clickable as a link?
Make A List Item Clickable (HTML/CSS)
尽管解决方案接近我的问题。我需要找到通用解决方案。因为我无法逐个设置填充,因为链接标签可能会不时更改。
添加并测试asfollows
display:inline-block;
和padding
然后对问题进行排序,但应该不断更改填充。
答案 0 :(得分:4)
一种简单的方法是:
$('li.roundabout-moveable-item').click(function(e) {
e.preventDefault();
$(this).find('a').click();
return false;
});
确保点击<li>
中的任意位置产生与点击包含的<a>
相同的结果。
答案 1 :(得分:1)
一个。 CSS解决方案
li.roundabout-moveable-item a{
display:block;
width:100px;
height:100px;
}
B中。 Jquery解决方案
$("li.roundabout-moveable-item").click(function(){
$('a', $(this)).trigger('click');
});
$("li.roundabout-moveable-item a").click(function(event){
event.stopPropagation();
// To prevent li-click being trigged
});
答案 2 :(得分:0)
我相信您可以在css中使用display: block;
来设置<a>
标记的样式,以占用整个<li>
。