背景:
点击下拉框查看选项。
打开F12查看元素之后,下拉框的点击事件消失了,调试时无法选取下拉框的选项。
有什么办法可以在调试时,保持元素的点击事件?
当您在浏览器开发者工具中(通常是通过按 F12 打开的)检查和操作元素时,可能会触发某些元素的状态变化,这可能会影响到它们的行为,包括点击事件。例如,下拉菜单在检查状态或聚焦在开发者工具上时可能会关闭,从而失去了它的交互性。
为了保持元素的点击事件并正常地与页面元素交互,在调试时可以尝试以下步骤:
click()
方法来触发点击。// 假设选项元素的 id 是 'option-id'
document.getElementById('option-id').click();
event.preventDefault()
或 event.stopPropagation()
来改变事件的正常行为。请注意,如果问题是由于页面特定的 JavaScript 代码或库导致的,那么可能需要更深入地了解该代码或库的工作原理,以便找到保持点击事件的方法。在某些情况下,您可能需要联系页面的开发者或查阅相关文档来获取更具体的帮助。
评论里有人提到了chrome 工程师的演讲,应该是指模拟聚焦的网页,以前这个功能入口比较深,现在在样式Styles面板,点开:hov就能看到Emulate a focused page
开关
用油猴注入个定时debugger, 在debugger的时候整个网页元素的事件会停住
// ==UserScript==
// @name Timeout hook
// @namespace http://tampermonkey.net/
// @version 2022-05-29
// @description try to take over the world!
// @author You
// @match https://*.ctrip.com/*
// @grant start
// ==/UserScript==
(function() {
'use strict';
setInterval(() => {
console.log(1)
debugger
}, 3000);
// Your code here...
})();
@match 处匹配的注入网址改下
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
可以看下这个回答