JavaScript onClick事件 - HTML表

时间:2014-01-09 23:28:19

标签: javascript html events onclick

我正在学习JavaScript,最近我一直在试验鼠标事件,试图了解它们是如何工作的。

<html>
<head>
    <title>Mouse Events Example</title>
    <script type="text/javascript">
        function handleEvent(oEvent) {
            var oTextbox = document.getElementById("txt1");
            oTextbox.value += "\n" + oEvent.type;

            if(oEvent.type=="click")
            {
            var iScreenX = oEvent.screenX;
            var iScreenY = oEvent.screenY;
            var b = "Clicked at "+iScreenX+" , "+iScreenY;

            alert(b);
            }
        }
        function handleEvent1(oEvent) {
            // alert("Left Window");
        }
    </script>
</head>
<body>
    <p>Use your mouse to click and double click the red square</p>
    <div style="width: 100px; height: 100px; background-color: red"
        onmouseover="handleEvent(event)"
        onmouseout="handleEvent1(event)"
        onmousedown="handleEvent(event)"
        onmouseup="handleEvent(event)"
        onclick="handleEvent(event)"
        ondblclick="handleEvent(event)" id="div1"></div>
    <p><textarea id="txt1" rows="15" cols="50"></textarea></p>
</body>

这是我一直试图理解的代码。任何人都可以帮我创建一个HTML表格,当点击表格的单元格时,用户被告知他正在点击的单元格? 一直坚持下去,谢谢你的帮助。

3 个答案:

答案 0 :(得分:24)

var table = document.getElementById("tableID");
if (table != null) {
    for (var i = 0; i < table.rows.length; i++) {
        for (var j = 0; j < table.rows[i].cells.length; j++)
        table.rows[i].cells[j].onclick = function () {
            tableText(this);
        };
    }
}

function tableText(tableCell) {
    alert(tableCell.innerHTML);
}

是您可以做的一个例子。 DEMO

答案 1 :(得分:2)

只需将onclick插入到表的每个<td>中,如果单元格的名称是示例,则可以执行与此类似的操作:

<td onclick="alert('You are clicking on the cell EXAMPLE')">

答案 2 :(得分:0)

我们可以使用.querySelectorAll而不是使用getElementById来检索所有表维AKA单元。之后,我们可以执行一个循环(尽管请注意,在JS的后端,仍将执行一个循环以检索表单元格。)。首先,让我们创建要在单击单元格时执行的操作:

function tableText() {
    alert(this.innerHTML);
}

让我们使用querySelectorAll方法检索所有单元格:

var cells = document.querySelectorAll("td")

将事件侦听器放置到每个单元格:

for (var i = 0; i < cells.length; i++)
    cells[i].addEventListener("click", tableText)
}

完整代码:

function tableText() {
  alert(this.innerHTML);
}

var cells = document.querySelectorAll("td")

for (var i = 0; i < cells.length; i++){
  cells[i].addEventListener("click", tableText)
}