Javascript onclick事件的文本

时间:2017-11-15 18:36:59

标签: javascript

我在Javascript中有一个对象数组,我用document.write显示,其中数组的每个元素都有一个可用于显示它的字符。

是否可以有一个修改数组中数据的onclick事件?

var initializeArray = function(){
    for(var i = 0; i < HEIGHT; i++){
        maze[i] = new Array(WIDTH)
    }

    //Initialize all to walls
    for(var i = 0; i < HEIGHT; i++){
        for(var j = 0; j < WIDTH; j++){
            maze[i][j] = new Cell(cellType.WALL);
            maze[i][j].onclick = cycle; //The line in question that does not work
        }
    }
}

var printMaze = function(){
    for(var i = 0; i < HEIGHT; i++){
        for(var j = 0; j < WIDTH; j++){
            document.write(symbols[maze[i][j].type]);
        }
        document.write("<br>");
    }
}

在上面,WALL字符用#表示,而cycle()函数将#改为空格,反之亦然。

我不确定如何将document.write符号连接到数组中的基础数据。

1 个答案:

答案 0 :(得分:0)

我能够通过编写带有onclick函数的HTML元素而不仅仅是一段文本来解决这个问题:

var printCell = function(cell){
    document.write("<span class='cell' onClick='cycle(this)'>" + symbols[cell.type]) + "</span>";
}

var printMaze = function(){
    for(var i = 0; i < HEIGHT; i++){
        for(var j = 0; j < WIDTH; j++){
            printCell(maze[i][j]);
        }
        document.write("<br>");
    }
}