javascript - JS : Change OnClick Event from variable

标签 javascript html function button onclick

我正在尝试更改按钮的 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); };

在这种情况下,您应该考虑此表达式中真正动态的部分,并为其使用变量,而不是评估整个 JavaScript 字符串。例如,如果这是网址,那么您可能会得到类似的内容:

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

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

关于javascript - JS : Change OnClick Event from variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36825545/

相关文章:

php - 第 1 页之后分页不起作用?

javascript - 响应式 Google 可视化 JavaScript 图表库

javascript - 如何查看手头有什么(文件上传javascript)

javascript - 将 `jquery` 添加到 tsconfig 中的 types 字段

html - 下拉 <li> 宽度未扩展/margin-auto 不起作用

javascript - 循环卡在第一个区间

javascript - 全局变量未附加到 MeteorJS 包上的 `global` 对象

javascript - 我如何根据 if-else 给出两个不同的 Herf 到脚踝标签

javascript - Brython 和 Python

c++ - 为什么 isdigit() 不起作用?