一、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/n/200784.html