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