<html>
<head>
<style type="text/css">
#mycanvas{
width:500px;
height:450px;
border:2px solid green;
font-size:30px;
}
</style>
<script>
window.onload = function (){
vcan = {};
vcan.main = {}
vcan.main.repNode = [];
vcan.main.currentTransform = {'id':0, 'name':'myobj'}
document.getElementById("mycanvas").addEventListener('mousemove', mymousemove);
function mymousemove(){
var currAdTime = new Date().getTime();
console.log(currAdTime);
var myObj = extend(vcan.main.currentTransform , {mdTime:currAdTime, func:'add'})
vcan.main.repNode.push(myObj);
}
function extend (fobj, sobj){
if((typeof fobj == 'object') && (typeof sobj == 'object')){
for(var prop in sobj){
fobj[prop] = sobj[prop];
}
return fobj;
}else{
alert("it seems that the arguments you passed are not object");
}
}
document.getElementById("test").onclick = function (){
var output = "";
for(var i=0; i< vcan.main.repNode.length; i++){
output += vcan.main.repNode[i].mdTime;
output += "<br />";
}
document.getElementById("result").innerHTML = output;
}
}
</script>
</head>
<body>
<div id="mycanvas">
Please move the mouse inside this box
And click on Show Result
</div>
<button id="test">
Show Result
</button>
<div id="result">
</div>
</body>
</html>
問題を解決するには、上記のコードをブラウザにレンダリングしてください。[結果の表示]ボタンをクリックすると、時間が表示されます。私の質問は、なぜすべて同じ時間が表示されているのかということです。
時間の最新の値は、オブジェクトの配列の異なる要素にオーバーライドされます。
同時に、コンソールが表示された場合、時間は異なります。
長い間検索した後、私はこの問題を解決できませんでした。この問題を解決するのを手伝ってください。