草庐IT

监听机制

全部标签

javascript - 将事件监听器添加到除少数选定对象之外的所有对象?

我正在尝试将事件监听器添加到除少数选定对象之外的所有对象(选定对象还具有任意级别的任意子元素)?这个问题我以前也问过,但是我没有真正得到答案。我已经接近解决它了。你能帮我调试一下吗?我正在向名为bodylistener的body元素添加一个事件监听器,并向名为selectedElementsMarkTrue的几个选定元素添加一个事件监听器。我不想执行某些代码的少数选定元素,监听器selectedElementsMarkTrue在bodylistener之前使用setTimeout函数执行。selectedElementsMarkTrue将变量selectedElements设置为tru

javascript - CSS 属性更改监听器

有任何建议的CSS属性更改监听器实现吗?也许:thread=functiongetValues(){while(true){foreachCSSproperty{if(properties[property]!=nil&&getValue(property)!=properties[property]){alert('change')}else{properties[property]=getValue(property)}}}} 最佳答案 DOMAttrModified等突变事件已弃用。考虑改用MutationObserver。例

javascript - 将 transitionend 事件监听器与 react 一起使用以创建过渡

我正在尝试通过对按钮单击使用react来进行简单的转换,其中bodymax-height在componentWill更新时变为0,然后在componentDidUpdate上返回到500px或100%。我还没有从我看到的其他问题中完全理解它,所以有人可以给我举一个例子来解释它是如何工作的吗?我也不介意使用reactcsstransitiongroup的示例/解释。更多信息我知道transitionend附加了一个事件监听器,但我感到困惑的是如何使用它来确保组件在转换完成之前不会更新(我自学了react和几乎所有的编码知识,所以我不知道这是否应该很难理解,但目前对我来说很难)。谢谢大家!

javascript - 无法删除 useEffect 之外的事件监听器

我在useEffect中添加了一个事件监听器。由于useEffect第二个参数([]),它会在第一次重新渲染后运行一次。然后我尝试在useEffect之外(在handleSearch函数中)将其删除,但它不起作用。我怀疑它与功能范围有关,但不完全理解。也许有解决方法?consthandleSearch=()=>{window.removeEventListener('resize',setPageHeightWrapper);};const[pageHeight,setPageHeight]=useState(0);functionsetPageHeightWrapper(){setP

Javascript 按钮监听器触发一次?

我正在为我正在制作的网站制作幻灯片式旋转器。旋转器本身工作正常,但我正在尝试使用键盘上的左/右键使幻灯片向前/向后滑动。我的代码是这样的:$(document).keydown(function(e){varcurrentPosition=0;varslideWidth=836;varslides=$('.slide');varnumberOfSlides=slides.length;varanimLength=600;if(e.keyCode==37){currentPosition=currentPosition-1;//Checktoseeifnewpositionisunbou

javascript - 与使用 $.each 相比,将监听器添加到 jQuery 类集的效率

最初的直觉告诉我,使用绑定(bind)或简单的事件方法向jQuery元素集添加一个监听器,例如..$('.className').click(funcName);比使用$.each方法将一个监听器一个一个地添加到同一个集合中要合适得多,因为...$('.className').each(function(){$(this).click(funcName);});但是当涉及到插件开发时,您正在处理用户在页面的整个生命周期内、页面加载时以及页面加载后很长时间内通过ajax多次调用您的插件实例的可能性,这样做是错误的吗?将处理程序应用于每个元素本身,而不是尝试将处理程序抽象到它们的全局类集?

javascript - 将监听器函数添加到 JavaScript 对象

我有以下定义Car的代码。每辆Car都有一种颜色,还有一个setColor(color)函数。我想添加每当调用setColor(color)时调用的监听器函数,并且我希望能够随时添加这些监听器函数。这是一种合适的方法吗?有更清洁的方法吗?functionCar(){this._color='red';this._callbacks={};this.setColor=function(color){this._color=color;console.log(">>>setcarcolorto"+color);if(this._callbacks['setColor']){this._ca

javascript - 监听特定端口时接收广播包

当通过dgram.createSocket('udp4');设置套接字并且不将其绑定(bind)到特定端口时,我确实收到了发送到255.255.255.255的广播数据包但是当我将同一个套接字绑定(bind)到我的接口(interface)的特定IP时this.server.bind(67,host);我将不会收到这些广播数据包。这是正常行为吗? 最佳答案 Javadocforjava.net.DatagramSocket说:InordertoreceivebroadcastpacketsaDatagramSocketshouldb

javascript - JavaScript 事件监听器是否自动清理?

元素从DOM中移除后,其事件监听器是否会自动注销并清除其引用的资源(闭包)?如果是,如果某些非事件监听器代码持有对该元素的引用,答案会改变吗?我特别关心的是“伪导航”,其中unload事件被触发并且大部分文档被替换(当然许多替换元素也注册了事件监听器),但可能有在另一个整页加载发生之前的几个伪导航。所以我想知道是否有必要跟踪所有添加的事件监听器并在unload触发时手动删除它们以避免泄漏它们引用的任何资源。(注意:在我的例子中,“使用jQuery/[其他js库]来处理它”不是一个有效的解决方案。我感兴趣的是与IE8+和其他浏览器的相当新版本的兼容性。) 最佳

javascript - 在 JavaScript 上添加/删除监听器(垃圾收集器)

我有一个关于添加/删除DOM对象监听器的快速问题。我想问一下垃圾收集器是否能够在从页面中删除元素时收集内存。示例:带有几个child列表的标签()varul=document.getElementById('someParent');varchildren=ul.children;varsomeFunction=function(){};for(vari=0;i 最佳答案 ul.remove();行将从DOM中删除ul元素及其所有子元素。但是只要您引用了这些监听器、li元素和ul元素,事件监听器的内存就不会被释放。您在变量child