DOM(文档对象模型)事件允许事件驱动的编程语言在DOM树内的元素节点上注册各种事件处理程序/侦听器。
event.pageY 获取相对于整个文档高度的鼠标位置(我假设是 document.documentElement.offsetHeight)。 但是如何获取鼠标相对于当前视口的位置,wh...
如何检测滚动条上的鼠标按下? (或“scrollEnd”事件)
有人知道如何检测滚动条上的 mouseup 事件吗? 它在 FF 中有效,但在 Chrome 或 IE9 中无效。 我设置了一个快速演示:http://jsfiddle.net/2EE3P/ 总体想法是我想...
我有一个带有 MULTIPLE 属性的 SELECT 元素。 双击列表中的选项时,我想根据单击的选项执行操作。 我知道 OPTION 元素...
当我在 DOM 事件属性中调用函数时,如何确保它可以访问事件的 `this`?
我试图在单击事件发生时调用函数。 在函数本身中,我提到了这一点: 函数移动(e){ var myId = this.id; 控制台.log(myId); } 我试图在 click 事件发生时调用函数。 在函数本身中,我指的是this: function move(e) { var myId = this.id; console.log(myId); } <button id="A1" onclick="move()">#A1</button> <button id="A2" onclick="move()">#A2</button> <button id="A3" onclick="move()">#A3</button> 但是我运行整个过程,控制台显示“未定义”。当我尝试 alert(this); 时,我得到“[对象窗口]”。 我该如何解决这个问题? this 是代码中的 window 对象。 您可以传递 this 作为参数。 <td id="A1" onclick="move(this)" class="white"></td> 然后: function move(ele){ var myId = ele.id; alert("myId"); } 当从事件处理程序调用函数时,其 this 不是由处理程序设置的(尽管您可以根据 Xdazz 的答案从处理程序传递 this,或根据 Kyle 的答案设置 this)。另一种方法是从与事件关联的事件对象中提取发送者元素: function move(e) { if (!e) e = window.event; var sender = e.srcElement || e.target; //maybe some nested element.. find the actual table cell parent. while (sender && sender.nodeName.toLowerCase() != "td") sender = sender.parentNode; var myId = sender.id; alert(myId); } 您还必须显式传递事件: onclick="move(event)" 请注意,当表格单元格具有嵌套元素时,它们将成为“发送者”,因此要获取所需的元素(即表格单元格),您必须向上遍历。 为了避免所有这些令人头疼的问题,请参阅下面如何通过代码附加处理程序。 现场测试用例. 也就是说,更好的做法是通过代码而不是内联绑定点击事件 - 不要将 HTML 与 JavaScript 混合。为了实现这一点,有这样的代码: window.onload = function() { var arrCells = document.getElementsByTagName("td"); for (var i = 0; i < arrCells.length; i++) { var oCell = arrCells[i]; if (oCell.id && oCell.id.substr(0, 1) == "A") { oCell.onclick = move; } } } 使用上述代码后,您可以从 HTML 中删除内联 onclick= 调用并保留原始函数 - this 将指向单击的表格单元格。 更新了小提琴。 <td id="A1" onclick="move.call(this)" class="white"></td> 现在 this 将引用 td 函数中的 move 元素。 尝试使用事件目标来获取您正在寻找的 dom 元素: function move(e) { alert(e.target); }
我想将 Web 组件集成到我的 React 应用程序中。它们定义了一组自定义事件,封闭的 React 应用程序必须监听这些事件。 根据反应文档: 由网络发出的事件
为什么 wpcf7submit 事件在联系表单 7 中不起作用?
我正在尝试从 WordPress 网站上的联系表单 7 表单捕获 wpcf7submit 事件,以便在表单成功提交时触发警报。然而,该事件似乎并没有触发
我知道 document.form.button.click() 方法。但是,我想知道如何模拟 onclick 事件。 我在 Stack Overflow 上的某个地方找到了这段代码,但我不知道如何使用它......
我正在编写一个带有交互式扑克牌的网站。我想检查的是,当我单击 Deck-shuffle-btn 时,函数 shuffleDeck 会运行。 我的 script.js 中有事件监听器
我已经尝试了几天来解决这个问题但无法解决。我需要重新加载我的页面并忘记某些函数中先前设置的值。我尝试了很多方法来做到这一点,但没有一个在我...
我有一个像“<a href="javascript:;" onclick="return false;">”这样的锚标记。这有什么作用吗?
我正在尝试追踪单击锚标记时正在运行的一些JavaScript。 使用 Firebug 我发现了这段代码: ... W...
我有 JavaScript 代码,在其中我更改了无效事件上的输入字段 css 类,以将错误类添加到具有类 form-row 的父 div。 我还附加了一个事件侦听器...
在 div 中使用 setPointerCapture 指针向下并释放按钮后触发按钮单击事件 - 为什么?
我有一个简单的网页,带有一个按钮和一个div。该按钮有一个单击事件侦听器,单击时会记录到控制台。 div 有一个 pointdown 事件监听器,它调用 setPointerCapture 来
我有一个 html5 表单,其中 html5 是必填字段。如果用户提交不完整的表单并向他们显示错误消息,我想捕获用户交互。 我以为我可以使用 inv...
简单的问题——有谁知道可靠的跨浏览器函数来获取从 keydown 事件输入的字符? 我可以从 quirksmode 网格中写一个,但不想重新发明
我正在尝试创建类似待办事项列表的东西。应用程序的结构很简单 - 我有一个用于存储任务数据的状态和 useEffect,它在每个任务上添加事件监听器。任务可能是...
我今天开始查看 Firefox 扩展的代码 (https://github.com/sniklaus/youtube-watchmarker/blob/master/youtube.js),并注意到代码将事件处理程序附加到某些
我正在学习 event.target 和 event.currentTarget。我想我很清楚两者之间的区别。但陷入了 event.currentTarget 值为 null 的情况。 遵循...
在我的JS中,我有一个带有touchstart和touchend事件监听器的图像。 触摸图像可以操作 HTML 的一部分。在某种程度上,只要用户将手指放在图像上,...
iOS 支持“beforeinstallprompt”事件吗?
Android 和桌面版 Chrome 支持“beforeinstallprompt”事件,该事件可以显示添加到主屏幕横幅。我尝试在 iOS 中为我的 PWA 使用相同的 javascript 代码,但它不起作用。 ...
我知道 document.form.button.click() 方法。但是,我想知道如何模拟 onclick 事件。 我在 Stack Overflow 上的某个地方找到了这段代码,但我不知道如何使用它......