html5事件监听器详细节点状态变化
Event listener for html5 details node state change
我正在尝试添加一个事件侦听器来检测HTML5细节节点状态的变化。
最初,我尝试将侦听器附加到打开和关闭事件,因为对我来说,细节节点具有这些侦听器是合乎逻辑的,但它没有,我在html5规范中没有看到任何提及它们。
我尝试了(在Google Chrome)改变事件,因为html5规范(和Inspect Element确认),打开和关闭细节的方式是添加/删除open属性。我希望节点获得/失去属性将触发更改事件,但显然它没有。
我到底如何触发一个脚本动作的状态变化的细节节点?
您是否尝试使用DOMAttrModified
突变事件?
侦听DOMAttrModified适用于许多浏览器,而侦听DOMSubtreeModified适用于基于Chromium的浏览器,但现在在details节点上有一个更具体的事件可以侦听:
当您想要检测details
节点打开或关闭时,可以为details
节点添加侦听器/处理切换事件。因此detail节点内容的打开或关闭不能被取消。
本例选择在文档中可以找到的第一个details
节点。考虑一些其他的查询选择器,或document.querySelectorAll('details')
或甚至一些js框架来设置多个details
节点(即$('details').on('toggle', <function here>)
)上的事件。
document.querySelector('details').addEventListener('toggle',
function afterToggle(e) {
if(e.target.open){
//do something when opened
}
else {
//do something when closed
}
}
);
相关文章:
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 在节点.js中保存应用程序状态
- 节点 js 退出状态 8,错误代码 0 在 Mac 上运行
- 将扩展节点的状态保存在 jqgrid 树网格中
- 节点 JS:使用状态代码 503 重试函数
- 节点 JS:请求循环,直到状态代码 200
- 在节点.js中获取 http 状态代码
- JQuery 函数,用于查找 jstree 中节点的状态
- 如何在节点中解析 HTTP 状态代码
- 无法使用节点预处理程序重建串行端口:404状态代码下载64位nw.lib
- 保持单击的节点处于选中状态
- 节点webkit后退/前进按钮状态检测
- html5事件监听器详细节点状态变化
- 在ui-router中设置抽象嵌套状态的默认子节点
- 节点是否处于状态?Node可以在内存中维护变量吗?
- 从一个子节点更改parent's状态,并在另一个子节点react-native中使用它
- jtree:如何将ajax加载的根节点的状态设置为待定状态
- 让子节点知道它应该在React中更新自己的状态
- I'm向节点服务器发送了一个文件,它给了我404状态错误
- ReactJS:通过props改变父节点的子节点状态