我有一个图像可能有一些div(指定该图像中的某些选择).这些div应该是可点击的.像这样的东西:
#divOuter { width: 500px; height: 500px; border: 2px solid #0000FF; position: relative; }
#divInner { width: 100px; height: 100px; border: 2px solid #00FF00; position: absolute; cursor: pointer; top: 20px; left: 20px; }
<div id="divOuter">
<img src="SomeImage.jpg" />
<div id="divInner"></div>
</div>
$("#divOuter").click(function() { alert("divOuter"); });
$("#divInner").click(function() { alert("divInner"); });
Run Code Online (Sandbox Code Playgroud)
在chrome和FF中它按预期工作(指针出现在div上,点击它会提示"divInner"然后"divOuter").
然而,在IE8中它没有 - 我只有在悬停/点击内部div边界时才有相同的行为.在该div内部单击时,只有"divOuter"被警告.
怎么解决这个问题?
我有一个复选框,在某些情况下可以使用javascript禁用和检查,即:
var cbTest = document.getElementById("CheckBoxTest");
cbTest.disabled = true;
cbTest.checked = true;
Run Code Online (Sandbox Code Playgroud)
但是,发送回发时,CheckBoxTest.Checked服务器端为false.
是否可以禁用该复选框,仍然让服务器端将其识别为已选中?
我正在使用一个linq查询,看起来(经过一些简化)后面的内容如下:
List<UserExams> listUserExams = GetUserExams();
var examData =
from userExam in listUserExams
group by userExam.ExamID into groupExams
select new ExamData()
{
ExamID = groupExams.Key,
AverageGrade = groupExams.Average(e => e.Grade),
PassedUsersNum = groupExams.Count(e => /* Some long and complicated calculation */),
CompletionRate = 100 * groupExams.Count(e => /* The same long and complicated calculation */) / TotalUsersNum
};
Run Code Online (Sandbox Code Playgroud)
困扰我的是对PassedUsersNum和CompletionRate两次出现的计算表达式.
假设CompletionRate = (PassedUsersNum / TotalUsersNum) * 100,如何通过重用PassedUsersNum的计算来编写它,而不是再次编写该表达式?