为什么绑定到元素事件的处理程序触发了错误的结果?我期望下面Div1的点击事件弹出一个对话框,说明'div1',但弹出'div2'。Jquery绑定事件
我对此很陌生,我正在摸索着解决这个问题的原因。我希望有任何帮助解释。
干杯,
亚历
<!DOCTYPE html>
<html>
<head>
<title>TestEvents</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//Object Array
var objToTest = [{ TabName: "div1" },
{ TabName: "div2"}];
//Adds events to each div
function TestWhatIsGoingOn(myObjToTest) {
for (i in myObjToTest) {
$('#' + myObjToTest[i].TabName).click(function() { TestResult('TabName: ' + myObjToTest[i].TabName); });
}
}
function TestResult(message){
alert(message);
}
$(document).ready(function() {
TestWhatIsGoingOn(objToTest);
});
</script>
<style type="text/css">
#div1, #div2
{
border: solid thin black;
height: 100px;
width: 300px;
}
</style>
</head>
<body>
<div id='div1'>div1; click here to show expected result: 'TabName: div1'</div>
<div id='div2'>div2; click here to show expected result: 'TabName: div2'</div>
</body>
</html>
为什么这会继续产生错误的值:function TestWhatIsGoingOn(myObjToTest){myObjToTest {var MyName}; myObjToTest [i] .TabName; $('#'+ tn).click(function(){TestResult('TabName:'+ tn);}); } } – 2010-11-10 12:48:05
谢谢,在阅读完关闭后,我可以看到问题所在。 – AlexC 2010-11-10 15:08:20