我有一个对象 X 和一些创建 div 并分配 id = X.ID 的代码。创建 html 后,我将对象分配给 div,如下所示:
document.getElementById(X.ID).XValue = X;
如果我在该语句之后设置一个中断,我可以评估document.getElementById(X.ID).XValue
并查看 X 的所有属性。
在创建 html 时,我添加了onmouseup="MOUSE_UP(event)".
var aProp = {};
aProp.ThisValue = "This";
aProp.ThatValue = "That";
aProp.Id = 5;
var html = '<div id="' + aProp.Id + '"';
var func = 'MOUSE_UP';
html += ' onmouseup="' + func + '(event) ">';
html += '</div>';
document.getElementById("test").innerHTML += html;
document.getElementById(aProp.Id).XVALUE = aProp;
function MOUSE_UP(event) {
alert(event.currentTarget.XValue.ThisValue);
}
现在,当我在 MOUSE_UP 处设置中断时,event.currentTarget 是我的 div ( event.currentTarget.id == X.ID
),但 event.currentTarget.XValue 是未定义的。
为什么前面定义的 XValue 在这里没有定义?