我試圖動態創建js對象,這些對象也可以使用Foo.write()
將它們自己寫入文檔中。寫入方法只是一堆document.write()
調用,它從Foo
中抽取變量來填充元素。因此,本質上,write()
包含所有Foo
的模板。將對象傳遞給document.write()中的onClick方法
This works great。但是,當我想將onClick
設置爲其中一個模板元素(anchor
)時,我遇到了問題。寫入的鏈接線:
document.write("<a href='javascript:" +this+ "close()'><img src='layout_img/button_close.png' /></a> ");
所謂的情況下,Foo
刀片本身Foo.close()
應該對具體Foo
調用。但是當我點擊鏈接時,我得到一個js錯誤:"missing ] after element list"
。在狀態欄中,當我懸停鏈接時,它顯示javascript:[Object object].close()
,我認爲這是件好事。
爲什麼不能正常工作?
以下是我的更多幫助代碼。這是我想了如何創建/寫我的對象:
<script type="text/javascript">
new Foo('any_id_i_want', {
title: "any_title",
icon: "any_image",
isMinimized: false,
top: 400,
left: 500
}).write().setContents("Hello <a href='http://google.com'>google</a>");
</script>
write()
使用document.write()
來創建模板,並使用之類的東西Foo.title
自定義對象的外觀。
setContents()
由document.getElementById(Foo.id)
發現編寫的代碼,並使用Element.innerHTML
與自定義消息,以填補Foo
,在這種情況下的文本和鏈接。
所以我想保持這種創建對象的方法,因爲它非常方便。我只是無法弄清楚如何使用該模板在Foo
上撥打電話。
是否有使用了'document.write'是有原因的?這是一種非常困難的做事方式。另外,預期產出是多少? – 2011-04-09 17:55:21
這是一個對象。你需要使用像這樣 文件撰寫(「」); – 2011-04-09 18:00:30
我添加了更多可能有助於描述我想要完成的代碼。我將有多個'Foo's頁面上,每個'Foo'應該能夠調用'close()方法'鏈接被點擊的時候。 – Snailer 2011-04-09 18:06:24