2009-11-17 5 views
0

У меня вопрос, который я, похоже, не могу решить самостоятельно, поэтому я попрошу здесь. Вопрос прост: используйте ли встроенные события Javascript или добавьте их позже. Теория в фоновом режиме не так проста:Javascript Inline Events or Adding Events After

У меня есть объект JS, который возвращает HTML. Всякий раз, когда вы создаете этот объект, возвращаемый HTML будет использоваться для HTML другого объекта. Поэтому добавление событий не является прямым. См:

secret.object = function() 
{ 
this.init = function() 
{ 
    var html = '<div>and lots of other HTML content</div>'; 
    return html; 
}; 
} 

Это пример объекта, который создается в этом коде:

for (var i = 0; i < countObjects; i++) 
    { 
    var obj = arguments[0].content[i]; 


    generatedContent += spawnSecret(); /* The spawnSecret() is a method that initializes the object, and calls its init() method that returns the HTML. 

} 

, а затем позже создать новый объект, свойство «содержание» будет установлено значение «generatedContent». Необходимо добавить события в секретный объект, который у меня есть, нигде больше. И поскольку моя система построена так, я вижу только два пути: используйте встроенные события или создайте HTML, используя метод, вместо того, чтобы возвращать метод.

Надеюсь, это было не слишком трудно понять ..

ответ

3

Если вы создали элементы, используя document.createElement() (но не добавить их к DOM) и все ссылки на них, то вы можете заполнить их с текстовым содержанием и прикрепить обработчики событий к ним , без необходимости использования встроенных событий.

Когда вы готовы раскрыть свой «секрет», вы можете добавить их в DOM, а не демпировать в текстовую строку HTML-тегов и содержимого.

0

Я не могу видеть, что делает большую часть разностной если вы просто сделать ваши события с помощью «OnClick» и т.д. Javascript обработчики событий, они будут оценены, как только поскольку вы добавляете свой сгенерированный html в документ, вместо того, чтобы вам называть attachEvent() или что-то еще.