草庐IT

监听机制

全部标签

javascript - 如何向 div 的所有子节点和这些 div 的数组添加事件监听器?

我正在自学JS并尽量避免使用jQuery,直到我的JS技能更好。目标:为某个类的所有div添加一个事件监听器,用于点击事件。让该类的所有子节点响应该事件。我的HTMLcss3tamberator我使用这个JS选择了所有的.grid-paneldivvargridPanels=document.querySelectorAll('.grid-panel');然后,因为它返回一个类为.grid-panel的div数组我为点击添加事件监听器for(i=0;i我的功能是这样的myFunction(){vare=event.target;switch(e){casegridPanels[0]:m

javascript - 如何监听 Angular 1.5 组件中的作用域事件?

我正在将代码从Angular1.3迁移到Angular1.5组件和ES6Controller。我试图在SO上找到一些东西,但帮助不大。除了下面提到的方式之外,还需要关于如何在范围内观看事件的建议。或者如何从指令触发范围事件。如果存在替代方法,也请建议正确的方法。Angular1.3angular.module('test').directive('test',function(){return{link:function(scope){scope.$on('$stateChangeStart',function(event,toState,toParams){//logicgoeshe

javascript - 如何设计一个监听 WebSocket 并与 CSS 动画交互的 ReactJS 组件

ReactJS组件需要监听WebSocket发出的事件。对于每个入站事件,组件应该呈现一个DOM节点。然后它应该等待与DOM节点关联的CSS动画完成,然后删除DOM节点。这是我打算实现的草图。这种方法看起来可行吗?setTimeout感觉很糟糕。classMyComponentextendsReact.PureComponent{componentDidMount(){this.props.webSocket.on('myEvent',componentDidReceiveEvent)}componentWillUnmount(){this.props.webSocket.off('m

javascript - 在滚动事件上监听的函数中未更新 React Hook

我有一个函数handleScroll,它在滚动事件上被监听。此函数必须更新isFetching(开始时为false,并且必须更改bool值)。函数handleScroll被正确监听,如console.log所示。但是,isFetching始终为false。似乎从未读取过setIsFetching。我认为,另一种选择类似于eventListener卡住handleScroll函数的第一个版本。我该怎么做才能更新该函数中的Hook?这是代码的简化版本和codesandbox:/**/importReact,{useState,useEffect}from"react";importReac

javascript - 分离并重新连接鼠标滚轮事件监听器不重置滚动惯性

我正在使用jquery-mousewheel触发功能的插件。当我调用moveit时,我会分离监听器并等待动画完成,然后重新附加监听器。问题是,当我重新附加它时,鼠标滚轮插件仍在监听某些鼠标/触控板的惯性,并反复调用moveit。我想在我的特定情况下,去抖动或限制函数调用不是好的解决方案,因为惯性仍然存在,而且我还希望为其他可能的moveit调用立即附加监听器。有没有办法通过完全重置鼠标滚轮事件来“消除惰性”,而不是仅仅将其分离?$(document).ready(function(){vartween;varslide=$('#slide');functionbodyListen(){

javascript - 在 AWS Lambda 中监听 Firebase 数据库超时

我正在构建Alexa技能,这需要我收听Firebase实时数据库。在技​​能的一个特定部分,我需要向Firebase写入一个JSON对象,它由两个字段组成,“intent”和“done”,其值无关紧要,值为false。然后,我等待另一台监听此数据库的设备注册此更改,此时它创建另一个字段,名为“result”,带有一些数值,并将“done”的值更改为true。然后原始函数(test1)应该识别“done”的值何时为真,然后检索“result”的值。我遇到的问题是想出一个函数,该函数在我的主(异步)函数完成之前执行所有这些读/写操作。如标题所示,AWSLambda因某种原因超时,我无法读取

javascript - 掌握 JavaScript 中的事件监听

上周我们在上周左右的修补和测试后将Omniture的分析代码发布到大量网站上。在我们几乎所有的网站模板上,它都运行良好。在一些零星的、不可预测的情况下,严重的浏览器崩溃体验可能会让一些用户望而却步。此时我们无法看到崩溃模板之间的关系,虽然有很多方法可以解决问题,但让我们感到困惑的是事件监听器。单击这些模板上的任何anchor时,网站会崩溃。没有任何内联JS,虽然我们通过HTML的属性进行了调试,但我们找不到可识别的循环或会导致此问题的问题。(在我们进行故障排除时,您可以亲body验here[警告!单击页面中的任何链接都会导致浏览器崩溃!])如何确定对象是否有监听器?您如何确定触发事件时

javascript - 我需要在 2016 年删除事件监听器吗?

这个问题wasaskedandansweredin2011.然而,网络场景发生了相当大的变化,现在IE6和IE7已经过时,IE8-10几乎没有过时(under1%each),只有IE11还在。那么,在2016年,是否需要手动移除事件监听器以避免内存泄漏?请考虑仅IE11的答案。我问是因为我createdasmalllibrary作为jQuery的替代品,我很想知道我是否必须先手动删除它们。当然,问题是在使用vanillajavascript而不是jQuery时。 最佳答案 否查看这些答案:DoIneedtoremoveeventli

javascript - 如何删除影响 React 元素的 Jquery 文档单击监听器?

对于遗留应用程序,我们正在使用React逐个重写Web应用程序的部分内容。因为这不能完全删除文档监听器的垃圾。页面上有很多不同的组件,它们上面都有监听器。这正在影响react组件的性能。例如;MaterialUI切换菜单,https://codesandbox.io/s/o9970jm69例如,切换菜单速度很快,并且可以响应您的点击。但是对于我们的网络应用程序,由于这些文档事件监听器,切换行为与演示不同。是否可以移除React元素的这些文档点击监听器?或者有没有办法摆脱React组件的这些监听器? 最佳答案 jQuery事件的解决方

javascript - 有没有办法在 Javascript 中获取所有事件监听器绑定(bind)?

我正在寻找一种方法,可以列出网站上使用JS(或其他脚本)制作的所有事件监听器绑定(bind)。主要是我想找出双重绑定(bind)(出于调试原因),但我想还有其他问题。Brilliant将是浏览器的插件,您可以在网站上看到哪些元素绑定(bind)了哪些类型的eventlisteners。你知道,事件监听器的一些可视化... 最佳答案 视觉事件(http://www.sprymedia.co.uk/article/Visual+Event+2)非常有帮助。转到此页面,只需将“视觉事件”链接拖到书签栏中即可。当你想查看一个页面时,只需点击