JavaScript内联事件或随后添加事件
我有一个问题,我似乎无法自己决定,所以我会在这里问。问题很简单:是使用内联JavaScript事件还是在事后添加它们?但背景中的理论并不是那么简单: 我有一个返回HTML的JS对象。无论何时创建此对象,返回的HTML都将用于另一个对象的HTML。因此,添加事件不是直截了当的。见: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
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标记和内容的文本字符串中