JavaScript内联事件或随后添加事件

JavaScript内联事件或随后添加事件,javascript,events,inline,Javascript,Events,Inline,我有一个问题,我似乎无法自己决定,所以我会在这里问。问题很简单:是使用内联JavaScript事件还是在事后添加它们?但背景中的理论并不是那么简单: 我有一个返回HTML的JS对象。无论何时创建此对象,返回的HTML都将用于另一个对象的HTML。因此,添加事件不是直截了当的。见: secret.object = function() { this.init = function() { var html = '<div>and lots of other HTML con

我有一个问题,我似乎无法自己决定,所以我会在这里问。问题很简单:是使用内联JavaScript事件还是在事后添加它们?但背景中的理论并不是那么简单:

我有一个返回HTML的JS对象。无论何时创建此对象,返回的HTML都将用于另一个对象的HTML。因此,添加事件不是直截了当的。见:

secret.object = function() {
  this.init = function() {
    var html = '<div>and lots of other HTML content</div>';
    return html;
  };
}
secret.object=函数(){
this.init=函数(){
var html='和许多其他html内容';
返回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.

}
for(var i=0;i
然后,我创建了一个新对象,其属性“content”将设置为“generatedContent”。它需要在我拥有的秘密对象中添加事件,而不是在其他地方。由于我的系统是这样构建的,所以我只看到了两种方法:使用内联事件或使用方法调用而不是返回来构建HTML


希望这不会太难理解。

我看不出它有多大区别-如果您只是使用
onclick
等JavaScript事件处理程序呈现事件。JavaScript事件处理程序将在您将生成的HTML附加到文档后立即对其进行评估,而不必调用
attachEvent()
或其他任何东西。

我看不出它有多大区别-如果您只是使用
onclick
等JavaScript事件处理程序来呈现事件,则在您将生成的HTML附加到文档中时,会立即对其进行评估,而不必调用
attachEvent()
或其他任何内容。

如果使用document.createElement()创建元素(但没有将它们附加到DOM中)并保留对它们的引用,则可以使用文本内容填充它们并将事件处理程序附加到它们,而不必使用内联事件


当您准备公开您的“秘密”时,您可以将它们附加到DOM中,而不是转储为HTML标记和内容的文本字符串。

如果您使用document.createElement()创建元素(但没有将它们附加到DOM中)并保留对它们的引用,然后,您可以使用文本内容填充它们并将事件处理程序附加到它们,而不必使用内联事件

当您准备公开您的“秘密”时,您可以将它们附加到DOM中,而不是转储到HTML标记和内容的文本字符串中