0
我正在嘗試更改按鈕的onclick事件。 這裏是我的代碼:JS:從變量更改OnClick事件
var onclickEvent = 'window.open("https://www.google.com", "", "widht:20px height:30px")'
btn.onclick = function() {onclickEvent}
我正在嘗試更改按鈕的onclick事件。 這裏是我的代碼:JS:從變量更改OnClick事件
var onclickEvent = 'window.open("https://www.google.com", "", "widht:20px height:30px")'
btn.onclick = function() {onclickEvent}
你需要分配這樣的:
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); };
但我想使用onclickEvent作爲一個字符串,所以我可以改變功能。 onclickEvent是來自文本框的字符串。 – HighTechProgramming15
這是非常糟糕的做法,因爲您需要使用我的答案中顯示的'eval'來執行此代碼。我會建議你重新考慮你的設計。 –
爲什麼它需要是一個字符串?你需要在字符串中更改什麼?你不能將參數傳遞給更新字符串的函數嗎? – skyline3000