動的に作成されたオブジェクトにアクションを追加する際に、奇妙な問題が発生します。追加するときは、アクションの割り当てとともに、マウスボタンを押すのではなく、アクションが自動的に実行されます。さて、以前の機能に基づいていくつかの変更を加えた後、私が達成したことは完全に機能していないアクションです。
optionsList = {
Elements: new Array(),
El: '',
initialMouseX: undefined,
initialMouseY: undefined,
startX: undefined,
startY: undefined,
dXKeys: undefined,
dYKeys: undefined,
zeroX: undefined,
zeroY: undefined,
draggedObject: undefined,
initListElement: function (element,type)
{
if (!this.Elements[element.id])
{
this.Elements[element.id] = new Array();
console.log("added new element with id: " + element.id);
}
if (typeof element == 'string')//jeśli element jest stringiem
{
element = document.getElementById(element);
}
this.Elements[element.id].type = type;
addEventSimple(this.Elements[element.id],'mousedown',optionsList.showControls);
console.log("element type: " + this.Elements[element.id].type + " id: " + element.id);
return false;
},
showListControls: function(e)
{
var evt = e || window.event;
optionList.showControls(this,evt);
return false;
},
/*******************************************/
/*The function*/
showControls: function(obj,e)
{
console.log("Item pressed id is: " + obj.id);
return false;
}
}
ソースコード全体がかなり長いので、ここに投稿しました:http: //jsfiddle.net/sebap123/smu3E/0/
エラー(または機能していない関数)はJSコードの下部にあります。私が達成したいのは、白いテキストが押されたときに、オブジェクトのタイプまたはIDに基づいて何らかのアクションが発生することです。
このソースコードを何度も読んだ後でも、間違いがあるところを見つけることができません。
事前にどうもありがとうございました