JS:从变量

时间:2016-04-24 16:00:48

标签: javascript html function button onclick

我正在尝试更改按钮的onclick事件。 这是我的代码:

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

1 个答案:

答案 0 :(得分: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); };