2009-11-17 109 views
0

我有一个问题,我似乎无法自己决定,所以我会在这里问。问题很简单:无论是使用内嵌的Javascript事件还是之后添加它们。在后台的理论是不是那么简单:Javascript内联事件或事后添加事件

我有一个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

我不能看到它发出很大的一个difference-的,如果你只是使用“onclick”事件等JavaScript事件处理程序,他们将尽快评估呈现您的活动因为您将生成的html附加到文档中,而不是必须调用attachEvent()或其他任何内容。