Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如何在单击显示为按钮的数组元素时启动事件_Javascript_Arrays_Onclick - Fatal编程技术网

Javascript如何在单击显示为按钮的数组元素时启动事件

Javascript如何在单击显示为按钮的数组元素时启动事件,javascript,arrays,onclick,Javascript,Arrays,Onclick,我用给定的项目填充数组,并将它们显示为按钮。用户应点击其中一个按钮。根据他点击的按钮,答案可能会有所不同。这就是我目前所做的: var1=“1”; var2=“2”; var3=“3”; var4=“4”; var myarray=[var1,var2,var3,var4]; 对于(var i=0;i

我用给定的项目填充数组,并将它们显示为按钮。用户应点击其中一个按钮。根据他点击的按钮,答案可能会有所不同。这就是我目前所做的:

var1=“1”;
var2=“2”;
var3=“3”;
var4=“4”;
var myarray=[var1,var2,var3,var4];
对于(var i=0;i
var arr=[1,2,3,4];
对于(变量i=0;i
输入[类型=对象]
?另外,使用
document.createElement
创建一个元素,谢谢,谢谢。这正是我想要的。很有魅力。另一个问题。如何在元素之间添加空格?如果我写
btn.innerHTML=“
”+val”
,它只会使按钮变大。添加html代码的正确语法是什么?你需要使用CSS来完成。按钮{display:inline block;margin:10px;padding:5px;}@user9如果对你有效,你能接受答案吗?
var arr = [1, 2, 3, 4];
for(var i=0; i < arr.length; i++) {
    (function(val) {
        btn = document.createElement('button');
        btn.data = val;     // assign the value to compare to an attribute on the button.
        btn.innerHTML = 'option'  + val;
        btn.addEventListener('click', checkAnswer);
        document.body.appendChild(btn);
    })(arr[i]);  // create a closure, so that all buttons don't refer to the same value later.
}

function checkAnswer(evt) {
    if (evt.target.data == 4) {  // evt.target == button
        alert('Good answer');
    } else {
        alert('Bad answer');
    }
}