我有下一张桌子:
div class="container">
<table id="myTable">
<tr onmousemove="changeVposition(this)">
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
</tr>
<tr onmousemove="changeVposition(this)">
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
</tr>
<tr onmousemove="changeVposition(this)">
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
</tr>
<tr onmousemove="changeVposition(this)">
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
</tr>
</table>
<button onclick="appendCol()" id ="appendCol"></button>
<button onclick="appendRow()" id ="appendRow"></button>
<button onclick="deleteRow()" id="deleteRow"></button>
<button onclick="deleteCol()" id="deleteCol"></button>
</div>
以及在创建带有函数的新列时
function appendCol() {
var tbl = document.getElementById("myTable")
var tr = tbl.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
var td = document.createElement('td');
td.onmousemove = changeGposition(this);
var div = document.createElement('div')
div.className = "cell"
tr[i].appendChild(td).appendChild(div)
}
但是它不起作用,onmousemove没有被添加
谁知道为什么不是工作?
注意:使用<div>元素,它正在工作,在调用函数之后,我有下一个DOM
<td onmousemove="changeGposition(this)">
<div class="cell"></div>
</td>
<td>
<div class="cell"></div>
</td>
发布于 2017-06-09 13:04:28
当你做的时候
td.onmousemove = changeGposition(this);它正在调用函数并将返回的内容分配给事件侦听器。
它应该是
td.onmousemove = function () { changeGposition(this); }https://stackoverflow.com/questions/44458447
复制相似问题