此问题可能已被多次解答,但我需要帮助,因为我无法实现我打算做的事情。将整个父级div设为可点击区域
我有这样的看法:
<div class="bookView">
@for (int i = 0; i < Model.Count; i++)
{
<div class="bookUnit" onclick="[email protected]("SeeBook", new { bookID = Model[i].BookID})">
<span class="linkSpan"></span>
<div class="bookTitle" data-id="@Model[i].BookID">
@Html.DisplayFor(_item => _item[i].BookName)
</div>
<div class="bookDetail">
<div class="bookCategory">
@Html.DisplayFor(_item =>_item[i].Category.CategoryName)
</div>
<div class="bookEditor">
@Html.DisplayFor(_item => _item[i].Editor.EditorName)
</div>
<div class="bookDate">
@Model[i].DateAdded.ToShortDateString()
</div>
</div>
<div class="bookScore">
Score: @Html.DisplayFor(_item => _item[i].Score)
</div>
<div class="clear"></div>
</div>
}
</div>
而这里的相关CSS:
.linkSpan {
width:100%;
height:100%;
/*top:0;*/
/*left: 0;*/
display: block;
/* edit: added z-index */
z-index: 1;
/* edit: fixes overlap error in IE7/8,
make sure you have an empty gif */
/*background-image: url('empty.gif');*/
}
.bookView {
padding: 5px;
margin: 5px;
vertical-align: middle;
}
.bookView div {
padding: 5px;
}
.bookUnit {
clear: both;
position: relative;
background-color: white;
border: 1px solid lightblue;
z-index: 0;
}
.bookUnit:hover {
border: 1px solid red;
}
.bookTitle {
float: left;
font-weight: bold;
}
.bookDetail {
float: left;
}
.bookScore {
float: left;
}
所以我们的目标是整个bookUnit
DIV其所有的内容将成为这将携带一个可点击的区域我的控制器方法的ID。每个循环有20 books
,但每个div都会携带自己的ID。
我已经试过anchor
方法,你可以看到,但如果你想整个事情可点击的click
事件绑定到它,它不工作...