2016-04-24 120 views

回答

1

你需要分配這樣的:

var onclickEvent = function() { 
    window.open("https://www.google.com", "", "widht:20px height:30px"); 
}; 
btn.onclick = onclickEvent; 

你所擁有的字符串,你唯一的選擇就是eval這被認爲是不好的做法,不推薦使用:

var onclickEvent = 'window.open("https://www.google.com", "", "widht:20px height:30px")'; 
btn.onclick = function() { eval(onclickEvent); }; 

在這種情況下,您應該考慮此表達式中真正動態的內容,並使用變量代替evaling整個JavaScript字符串。例如,如果這是網址,那麼你可以有這樣的事情:

var onclickEvent = function(url) { 
    window.open(url, "", "widht:20px height:30px"); 
}; 

var url = 'https://www.google.com'; 
btn.onclick = function() { onclickEvent(url); }; 
+0

但我想使用onclickEvent作爲一個字符串,所以我可以改變功能。 onclickEvent是來自文本框的字符串。 – HighTechProgramming15

+0

這是非常糟糕的做法,因爲您需要使用我的答案中顯示的'eval'來執行此代碼。我會建議你重新考慮你的設計。 –

+1

爲什麼它需要是一個字符串?你需要在字符串中更改什麼?你不能將參數傳遞給更新字符串的函數嗎? – skyline3000