2013-04-24 129 views
0

我有了2周的div(左,右)和一些JS的功能DOC負荷的html文件,名爲EDITME一個功能通常會在左側DIV加載,但是當用戶展開右側導航我想這EDITME功能啓動/開闢一個新的窗口,做的東西,這意味着下列選項 一個可能的話會工作: 1)破壞現有的功能,然後重新創建一個新的函數具有相同名稱 2)改變對js的功能飛即時更改JavaScript功能?

這是可能的,如何?

謝謝。

增加了以下基礎上的建議:

edit=function(){} // works, however less value 

edit=function(id) { 'window.open("editMe.cfm?taid="+id,"edit","left=260,top=20,height=410,width=590,resizable=1,scrollbars=1")' } // fails 

SyntaxError: unterminated string literal 

attempted to scape the double quotes like the following to no avail, 'window.open(\"editMe.cfm?taid=\"+id,\"edit\",\"left=260,top=20,height=410,width=590,resizable=1,scrollbars=1\")' 

難道我做錯了什麼?

僅供參考,這個代碼是爲onclick事件其他代碼部分。

+4

如果您發佈當前的代碼,preferrably與你有嘗試新鮮事物的描述一起的jsfiddle這個問題會更容易回答。 – Xotic750 2013-04-24 16:24:38

+1

你能告訴我們一些代碼嗎?它很難說出你在問什麼 – 2013-04-24 16:25:04

+1

我懷疑你正在使用內嵌腳本塊。你不需要刪除和替換函數,這完全違背了函數應該如何工作。調用相同的函數,但傳遞一個參數來告訴你從哪個div調用它。 – 2013-04-24 16:25:46

回答

4

函數是JavaScript中的第一類對象。簡單地重新分配一個新的功能,你已經變(隱含的)創建...

function foo() { 
    //do stuff 
} 

//now, reassign the var to do something else 
foo = function() { 
    //do other stuff 
} 

不是說這是很好的做法......但回答你的問題,是的,它是可能

+0

謝謝大家,@adamb和user375487,明天早上我會試試看。 – user963063 2013-04-25 03:04:36