0
<table id="selectedTable">
<thead>
<tr>
<td>ID</td>
<td>VAL1</td>
<td>VAL2</td>
</tr>
</thead>
<tbody id="selectedTableBody">
<tr>
<td>1</td>
<td name="positionColumn"><input name="position" value="1" /></td>
<td name="predecessorColumn"><input name="predecessor" value="0"/></td>
</tr>
<tr>
<td>2</td>
<td name="positionColumn"><input name="position" value="2"/></td>
<td name="predecessorColumn"><input name="predecessor" value="1"/></td>
</tr>
<tr>
<td>2</td>
<td name="positionColumn"><input name="position" value="2"/></td>
<td name="predecessorColumn"><input name="predecessor" value="1"/></td>
</tr>
</tbody>
</table>
<script>
function addEvn()
{
alert("event added...");
var x = document.getElementById("selectedTable").rows[1].cells[1].children[0];
x.setAttribute("onkeypress",writePredecessor());
}
function writePredecessor()
{
alert("WP Called");
var x = document.getElementById("selectedTable").rows[1].cells[1].children[0];
var y = document.getElementById("selectedTable").rows[1].cells[2].children[0];
y.value=x.value-1;
}
window.addEventListener("load",addEvn);
</script>
我添加了一個事件,只要輸入的是文本框的值,但該事件不會觸發。如果我在位置文本框中鍵入數字,則前導文本框應該自動分配到相同的數字減1。 。爲什麼onkeypress事件不是爲表格內的文本框觸發的?
如果我有我從方法返回的任何屬性,那麼只有我可以使用'writePredecessor()',否則我需要返回'writePredecessor'你的意思是相同的答案 – David
@David - 不,我不知道。關鍵是將函數分配爲事件處理函數,而不是立即調用函數,並將返回值(它是'undefined')作爲事件處理函數。 – Quentin