一、table.on()
table.on()是一個非常常見的事件監聽方法,它常被用在動態生成的元素上。通過該方法,我們可以為這些元素添加一些事件監聽器。
// 為id為table的元素中的所有button添加click事件監聽器。 document.getElementById("table").on("click", "button", function() { console.log(this.innerHTML); });
在上面的代碼中,table.on()方法的第一個參數是要監聽的事件類型,第二個參數是一個選擇器,用於指定要監聽的元素。最後一個參數是事件處理函數。
table.on()方法還有其他幾種使用方法,比如:
二、table.on(tool)
table.on(tool)方法是table.on()和一些開發工具(例如jQuery)之類事件委託方法的擴展。該方法只可以在擁有 tool() 的上下文環境中使用,原生js中沒有這個方法。
// 在以jQuery為代表的開發工具中,使用on()方法為元素添加事件監聽器。 $("#table").on("click", "button", function() { console.log(this.innerHTML); });
在上面的代碼中,table.on()方法的第一個參數是要監聽的事件類型,第二個參數是一個選擇器,用於指定要監聽的元素。最後一個參數是事件處理函數。
三、table.onblur
table.onblur是在元素失去焦點時觸發的事件。
// 為id為table的input元素添加onblur事件監聽器。 document.getElementById("table").onblur = function() { console.log(this.value); };
在上面的代碼中,我們對table元素的onblur事件進行監聽,當input元素失去焦點時,將觸發事件處理函數。
四、table.on可以用多次嗎
可以,table.on()方法可以在同一元素上使用多次,分別監聽不同的事件類型。例如,我們可以為一個按鈕同時添加click事件和hover事件監聽器。
// 為id為table的元素中的button同時添加click和hover事件監聽器。 document.getElementById("table").on("click", "button", function() { console.log("點擊了按鈕:" + this.innerHTML); }).on("hover", "button", function() { console.log("鼠標懸停在按鈕上:" + this.innerHTML); });
五、table.on tool沒反應
如果table.on(tool)方法沒有反應,可能是因為沒有引入事件委託代碼庫,我們需要先引入這個庫。例如,如果想在原生js中使用jQuery的on()方法,則需要在標籤中引入jQuery代碼庫。
六、英譯漢on the table
“on the table”在英語中是一個常見的短語,意為“正在討論中”或“擺在桌面上”,與table.on()事件監聽方法沒有任何關係。當我們在對某個議題或問題進行討論時,可以說“Let’s put it on the table”。
七、tableone包選取
tableone是一個可以選取表格中一行或一列的js庫,與table.on()方法沒有任何關係。使用該庫可以輕鬆地對表格進行各種操作。以下是用tableone選取表格第一行和第一列數據的代碼示例:
// 獲取id為table的表格元素 var table = document.getElementById('table'); // 選中表格第一行 var row = table.one('tr:first-child'); console.log(row.cells[0].innerHTML); // 選中表格第一列 var col = table.one('tr td:first-child'); for (var i=0; i<col.length; i++) { console.log(col[i].innerHTML); }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/200784.html