2016-04-24 147 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