0
나는 MVC 응용 프로그램을하고 난 내 테이블 행을 클릭하고 나는 그 위에 마우스를 가져 가면 다음, 나는 그것의 배경을 변경할 수 있도록합니다.메이크업 테이블 행 클릭 + 호버 변경 배경
I가 내가 호버 기능을 추가하고 싶었
<script type="text/javascript">
$(document).ready(function() {
$('#example tbody tr').click(function() {
alert('row was clicked');
});
});
</script>
블로그에서 가져온, 그래서 그것을 수정 한 다음 코드를
$<script type="text/javascript">
$(document).ready(function() {
$('#example tbody tr').click(function() {
alert('row was clicked');
});
});
$(document).ready(function() {
$('#example tbody tr').hover(function() {
$(this).css('background-color','#ccc');
}, function() {
$(this).css('background-color','#fff');
});
</script>
내 HTML :
<table id="example" border = "2">
<thead>
<tr style="border-style:solid" class="simplehighlight">
<th>
Name
</th>
<th>
Description
</th>
<th>
tblStatu
</th>
<th>
DueDate
</th>
<th>
AssignedTo
</th>
<th>
CreatedOn
</th>
<th>
CreatedBy
</th>
<th>
ModifiedOn
</th>
<th>
ModifiedBy
</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr style="border-style:solid">
<td style="border-style:solid">
@item.Name
@*@Html.DisplayFor(modelItem => item.Name)*@
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.tblStatu.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.DueDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.AssignedTo)
</td>
<td>
@Html.DisplayFor(modelItem => item.CreatedOn)
</td>
<td>
@Html.DisplayFor(modelItem => item.CreatedBy)
</td>
<td>
@Html.DisplayFor(modelItem => item.ModifiedOn)
</td>
<td>
@Html.DisplayFor(modelItem => item.ModifiedBy)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.TaskId }) |
@Html.ActionLink("Details", "Details", new { id = item.TaskId }) |
@Html.ActionLink("Delete", "Delete", new { id = item.TaskId })
</td>
</tr>
}
</tbody>
클릭 처리기 작동하지만, 기능을 통해 호버하지 않습니다. 무엇이 문제 일 수 있습니까?
(1) 서버 쪽 코드가 아닌 실제 렌더링 된 HTML을 게시하십시오. (2) "단지 효과가없는 것"은 무엇을 의미합니까? 오류가 있습니까? '그것'
'요소 내에 행을 일치하지만 행은' 내부에 : – lonesomeday당신의 선택은 잘못된 것입니다. –
Frederic이 옳습니다. '$ ('# example tbody tr')'를'$ ('# example tr')'로 변경하십시오. 그리고 공중 선회 부분을 위해, 나는 CSS를 사용하는 것이 좋습니다. –
답변
, 당신이 준비가 두 번째 문서에 마감
});
를 놓치고있는 것으로 나타났습니다 매니저. 다음을 시도하십시오. 공지 사항 하나의 준비된 핸들러를 사용하고 jQuery 기능을 동일한 선택자에 연결합니다. jQuery의 장점 중 일부입니다.@Chris Pietschmann은 CSS를 사용하면 관리 할 코드가 줄어들어 동일한 효과를 얻을 수 있습니다.
출처
2011-09-10 14:27:02 tvanfosson
모든 브라우저의 오류 콘솔을 살펴봄으로써 이것을 쉽게 찾을 수있었습니다. – Dennis
@Dennis 의견이 일치하지 않습니다. 원래 질문에 비 작동 코드가 포함되지 않았으므로 다소 어려웠습니다. :-) – tvanfosson
그건 완벽하게 작동합니다 !!!!!!! 건배!!!!! – TeaLeave
당신은 호버에 다른 배경 색상을 정의하는 CSS를 사용할 수 있습니다 질문에 귀하의 코멘트에서 코드를 추가 한 후
출처
2011-09-10 14:05:54
헤더의 행에도 적용됩니다. 원하지 않는 것 같습니다. 또한 모든 테이블에 적용되므로 한 테이블에서만 필요하면 훨씬 더 구체적인 선택기를 사용해야합니다. 테이블에 – tvanfosson
@tvanfosson하거나 클래스'table.hoverable TR : 가져가 {...}' – Hogan
관련 문제