草庐IT

watch监听

全部标签

javascript - AngularJS:从 ng-repeat 中删除 $watch

我构建了一个报告,该报告使用一组嵌套的ng-repeat指令来创建可能是一个巨大的表格。构建表格效果很好,但在那之后,滚动性能受到很大影响-我认为这是由于ng-repeats创建的大量watch造成的。报表只需构建一次,然后就是静态的。我不需要持续观察数据。我有两个问题:A)是否可以查看Angular当前正在监视的所有变量的列表?EDIT:ThispostwasagreathelpinlearninghowtobenchmarkB)有没有办法告诉Angular停止它正在做的所有监视?我看过很多关于取消自己设置的watch的帖子,但这些是native指令,我不确定如何利用它们。我的偏好是

Javascript 事件监听器性能

有人可以帮助清楚地描述事件监听器的成本吗?我的经验证据是小型文档与大型文档和事件委托(delegate)的改进......但我希望对过程有具体的解释-但这代价高昂。我假设问题只是附加到大型文档上的对象属性的函数数量过多(更多对象、更多属性、监听器、更多函数)? 最佳答案 此引用似乎暗示添加大量事件处理程序会增加内存使用量(使用更多资源可能会减慢您的应用程序):http://gregfranko.com/blog/javascript-performance-tips/看起来这里的答案更全面:eventdelegationvsdire

javascript - 控制事件处理程序/监听器的执行顺序

IEMonster又一次给我带来了一个奇怪的问题。我正在对我不久前继承的asp.net站点进行一些更改。问题之一是在某些页面中有几个控件将Javascript函数添加为onload事件的处理程序(如果重要,则使用YUI)。其中一些事件处理程序假定已执行某些其他功能。这在Firefox和IE7中非常好,因为处理程序似乎按注册顺序执行。另一方面,IE8向后执行此操作。我可以采用某种双重检查方法,但考虑到控件存在于多个页面中,我认为这会产生更多的依赖性。所以我已经开始编写我自己的队列类,我将函数推送到该队列类并可以控制它们的执行顺序。然后我将注册一个onload处理程序,指示队列以我的首选顺

javascript - 在打开的窗口中监听 URL 变化

如果我打开一个窗口(使用window.open),我能否检测到它的URL何时更改(到特定的),前提是:窗口的初始URL位于另一个域(准确地说是Facebook)我有兴趣检测的URL也是我需要这个来进行身份验证。See"Desktopapps"atthebottomofthispage. 最佳答案 只要新url所在的域不被同源策略视为与您自己的域相同,那么这是不可能的。 关于javascript-在打开的窗口中监听URL变化,我们在StackOverflow上找到一个类似的问题:

javascript - 使用 ajax 时监听浏览器后退按钮并将 html 数据保存为对象。是好是坏?

我正在创建一个脚本来监听浏览器后退按钮并加载上一页。我是jquery和javascript(一个php人)的新手。在重新发明它之前,我在整个网络上搜索了一个图书馆。但是因为我在我的ajax链接中使用了很多参数,所以我不能使用那些库。我承认这是我的错误,因为我不知道如何使用如此复杂的系统。所以我在考虑是否创建一个系统如下。//getthecontentsofaparticulardivandsaveasanobject/associativearray//{hash:pageNumber,html:content}functionsave_history(div){varcontent=

javascript - phantomjs 标准输入的事件监听器

是否可以为phantomjs的system.stdin事件设置事件监听?示例,其中phantomjs可以从stdin读取但在等待输入时停止一切:varsystem=require('system');system.stdout.writeLine('waitingforuserinput...');varinput=system.stdin.readLine();//anythingdownherewon'texecuteuntilinputhasbeenreceived理想的解决方案就像nodejs的process.stdin.on()phantomjs似乎没有提供任何方法来做到这一

javascript - 您如何以编程方式确定 HTML 对象可以监听哪些事件?

我一直在查看developer.mozilla.org上的文档和Apple开发文档,但我找不到说明您是否可以通过编程方式确定特定HTML标记是否支持给定eventListener的文档。就像我知道标签不支持点击监听器,因为没有什么可以点击,但我怎么知道呢?或者除此之外,是否有关于每个标签支持哪些事件的简单引用? 最佳答案 根据PerfectionKills,除了少数极端情况,是的,您可以:Thetrickisthatmanymodernbrowsersreportpropertycorrespondingtoaneventnamea

javascript - Puppeteer:如何监听对象事件

是否可以监听页面内对象派发的事件?假设我在要访问的页面中有这段代码:varevent=newCustomEvent('status',{detail:'ok'});window.addEventListener('status',function(e){console.log('status:',e.detail);});setInterval(window.dispatchEvent,1000,event);我希望能够监听由窗口对象(或与此相关的任何其他JS对象)分派(dispatch)的事件。我如何在Puppeteer中执行此操作? 最佳答案

javascript - 指令链接中的 $watch 表达式与 Controller 函数之间的区别?

我见过这两种方式;在指令Controller中创建scope.$watch与链接函数之间有什么区别? 最佳答案 两者之间没有真正的区别。事实上,$watch表达式可以从Controller和指令访问,无论它最初定义在哪里,因为它们共享相同的$scope。话虽如此,指令中定义的$watch与Controller中定义的目的完全不同。 关于javascript-指令链接中的$watch表达式与Controller函数之间的区别?,我们在StackOverflow上找到一个类似的问题:

javascript - Javascript 事件监听器是否需要在删除它们所附加的元素之前被删除?

假设我已将各种事件监听器附加到各种表单元素。后来,我想删除整个表格。是否有必要(或建议)注销存在于表单及其元素上的任何事件处理程序?如果是这样,删除元素集合上所有监听器的最简单方法是什么?不这样做的后果是什么?如果重要的话,我正在使用Prototype。这就是我实际在做的事情。我有一个简单的表格,如下所示:我观察输入的各种事件,例如:$('foo').observe('keypress',onFooKeypress);$('bar').observe('keypress',onBarKeypress);等等表单通过AJAX提交,响应是表单的新副本。我用新表单的副本替换旧表单,执行类似$