草庐IT

watch监听

全部标签

javascript - `chrome.webRequest.onBeforeRequest.removeListener` ? -- 如何停止 chrome 网络监听器

所以我检查了chrome.webrequest的CatBlock扩展示例的示例代码,我看到它用打开了监听器chrome.webRequest.onBeforeRequest.addListener所以当我想关闭它时,我可以这样做吗chrome.webRequest.onBeforeRequest.removeListener?如果没有,我该如何摆脱它?我认为这类似于Javascript的原生事件监听器,但我知道在Chrome的扩展中使用的监听器有点不同。谢谢!艾维维 最佳答案 首先,完整文档isavailablehere.addLi

javascript - 使用 Vanilla JS 监听 jQuery 事件

所以我试图确定是否可以使用vanillaJS来监听通过jQuery添加的事件。我发现了这个问题:ListentojQueryeventwithoutjQuery对于jQuery的第1版,这绝对是答案。然而,版本3怎么样?我有一个我放在一起测试的fiddle,但我无法让第一个提交与任何版本的jQuery一起工作。我是否遗漏了什么,或者jQuery3中的事件模型是否仍未使用DOM事件模型?https://jsfiddle.net/ydej5qer/1/这是fiddle中的代码:HTML:Thisisdiv1.MyeventwasaddedviajQueryandislistenedforb

javascript - 即使监听函数返回 false,表单仍然被提交

我想弄清楚为什么这个JavaScript没有阻止提交表单:varcode=function(){returnfalse;};varelement=window.document.getElementById("form");if(element.addEventListener){element.addEventListener("submit",code,false);}除非我将以下onsubmit属性添加到表单元素:varcode=function(){returnfalse;};varelement=window.document.getElementById("form");i

javascript - 跳过 $watch 初始调用

所以提前为糟糕的标题道歉。我真的不知道这些东西的所有正确Angular术语。我在一个范围内有这样的代码:$scope.catName='Lecat'//现在,由于Angular会等到下一个摘要(这是正确的术语吗?)来评估watch,所以我的初始分配(“Lecat”)将触发watch。我希望这个分配不触发watch,但在此之后进行更改。有什么方法可以重置catName的“脏状态”吗?Js-fiddle:http://jsfiddle.net/7DNrD/1/ 最佳答案 检查这个解决方法http://jsfiddle.net/7DNrD

javascript - 如何在 Chrome DesktopCapture API 中监听 "Stop sharing"点击

我目前正在编写一个使用Chrome'sDesktopCaptureAPI的chrome扩展程序.当有人点击“停止共享”时,我很难设置回调。我尝试使用onendedEventHandler的MediaStream,但MediaStream的ended属性在单击按钮后仍设置为true。我能在流(单击按钮之前和之后)之间找到的唯一区别是videoTracks.readyState设置为ended。编辑:我还想注意用户是否关闭了他们之前正在播放的窗口。 最佳答案 我通过在videoTrack的onended属性上分配一个EventHandl

javascript - 在指令中监听表单提交事件

我想在指令中监听表单提交。假设我有这样的指令:app.directive('myDirective',function(){return{restrict:'A',require:'^form',scope:{smth:'='},link:function(scope,el,attrs,formCtrl){scope.$watch(function(){returnformCtrl.$submitted;},function(currentValue){console.log('submitted');});}}});用上面的方法我可以看到第一次提交,但不能看到其余的。我试图做这样的事

javascript - Backbone 模型数组属性更改和更改事件监听器并不总是触发

这个问题在这里已经有了答案:doesBackbone.Modelsthis.get()copyanentirearrayorpointtothesamearrayinmemory(1个回答)关闭9年前。我在Backbone中使用更改事件发现了一些奇怪的东西。它与具有数组作为属性的模型一起使用。如果我让属性在内部推送一个新值并将其设置回模型,则不会触发更改事件...这是一个完整的文档示例:varTestModel=Backbone.Model.extend({defaults:{numbers:[]},initialize:function(){this.on('change:numbe

javascript - 函数式响应式编程相对于事件监听器的优势

我听过很多关于函数式响应式编程的信息,因此决定去看看有什么大不了的。通过bacon.js文档,主要区别似乎是我没有在组件上设置事件监听器,而是在其上创建事件流,并将事件处理程序传递到流中。换句话说,我真正做的就是将事件处理程序从组件移到事件流中。是吗?如果是这样,这样做的最大优势是什么? 最佳答案 函数式响应式(Reactive)编程(FRP)的关键点是句法属性:Thedynamicalbehaviorofavalueisspecifiedatdeclarationtime.例如,考虑一个可以通过按下按钮向上或向下计数的计数器。在命

javascript - 如何监听自定义事件定义的 Web 组件

我有一个自定义元素my-checkbox,它包含一个复选框、标签、样式等。当该复选框被切换时,我定义了一个名为check的CustomEvent构造函数,像这样:constructor(){super();this._shadowRoot=this.attachShadow({mode:'open'});this.checkEvent=newCustomEvent("check",{bubbles:true,cancelable:false,});}我在复选框被切换时发送该事件:toggleCheckbox(){this.dispatchEvent(this.checkEvent);c

JavaScript 监听所有焦点/模糊事件

所以我想要一些JavaScript来监听页面上所有潜在焦点/模糊事件。我可以很容易地为点击事件做到这一点:document.addEventListener('click',function(e){console.log('click!')})任何时候点击任何元素,事件都会触发,即使节点是在添加事件监听器之后插入的。我想对焦点事件做同样的事情,但它们只在个别元素上触发,永远不会冒泡到文档中。我怎样才能做到这一点?每隔几秒遍历DOM并在添加新输入元素时重新监听的唯一方法是什么? 最佳答案 您可以使用focusin和focusout冒泡