2011-05-23 61 views
0

您可以編寫生成/寫入/寫入的javascript嗎?運作的JavaScript?JavaScript可以產生正常運行javascript

例如,有一個鏈接有一個功能綁定到它,點擊時產生一個功能javascipt片段?片段可以處理完全其他的元素。

例如

鏈接#1(有一個產生的JavaScript的JavaScript功能)鏈接#2(確實,現在絕對沒有)

點擊鏈接#1(產生的JavaScript剪掉,說:「當鏈接#2點擊文件撰寫(「你好」)」

點擊鏈接#2現在生產的‘hello’,而它沒有以前一樣。這可能嗎?

+0

是的,你可以做到這一點。你試過了嗎?發生了什麼? – 2011-05-23 02:14:13

回答

0

是的,你可以動態地分配事件處理程序描述在文本中

但是,動態代碼生成比聽起來要困難得多,除非您只是遵循基本模式並替換某些變量。寫程序的寫程序一直以來都是計算機行業的一種魅力,這讓functional programming,可以be donein javascript

+0

好的..我很體面與PHP和即時通訊試圖獲得處理的JavaScript/jQuery的。如果你有興趣...我想要做的是顯示錶單輸入字段與jQuery的日期選擇器連接到每一個通過點擊鏈接。每次用戶單擊鏈接時,都會彈出一個新的輸入字段(附加到div)。所以我必須爲每個與該ID相關的表單字段和日期選擇器函數創建一個唯一的ID(使用時間戳來使其唯一)。 – David 2011-05-23 02:33:06

+0

而且我還想顯示每個這些輸入字段的刪除鏈接,所以我需要動態編寫一個刪除特定輸入字段的函數。這正在擾亂我的大腦哈哈。 – David 2011-05-23 02:33:23

0

在datepicker的onClick處理程序上創建輸入/刪除鍵,可以在創建輸入時附加日期信息(或其他數據)。現在,您應該查看$.delegate()瞭解如何將處理程序綁定到創建的輸入。 $.delegate可以將處理程序綁定到尚未創建的元素,因此創建它們時會觸發處理程序。通過在輸入中通過$.data()data-屬性存儲日期相關信息,您將擁有處理事件的情景感知處理程序。

+0

這不是jQuery。 – Ryan 2011-05-23 02:50:37

+0

......這看起來像是在回答錯誤的問題。 – 2011-05-23 03:14:35

+0

閱讀上面的評論,他正在使用jQuery的Datepicker – Drew 2011-05-23 03:26:23

0

如果我正確理解你的問題,你可以用下面的代碼做你想做的。

不知道爲什麼你想這樣做,但。

你可以寫javascript生產/寫/等。運作的JavaScript?

你可以像我這樣做,或通過使用eval - 儘管如許多編碼者指出的那樣,eval是邪惡的!

<html> 

<head> 

<script type="text/javascript"> 

function initLinks(){ 
    document.getElementById("link1").addEventListener("click", function(){ 
     document.getElementById("link2").addEventListener("click", function(){ 
      document.write("hello"); 
     }, false); 
    }, false); 
} 
</script> 


</head> 

<body onload="initLinks()"> 

<a id="link1">Link 1</a> 
<a id="link2">Link 2</a> 

</body> 

</html>