草庐IT

watch监听

全部标签

javascript - 在 AngularJS 中只注册一次事件监听器

我正在将一个事件从我的导航栏Controller广播到另一个Controller,但是如果我多次初始化Controller(当我前后移动应用程序时),在我的$on事件运行多次,因为它被注册了多次。$rootScope.$on('submitBookingDialog',function(){submitBookingDialog();});如何防止submitBookingDialog()发生不止一次?我找到了asolution,但我不知道它是否理想。 最佳答案 首先,是否需要在$rootScope上发送事件?如果没有,那么您可以在

javascript - 如何选择一个事件监听器,让我等到 async.times 完成运行一个函数

我正在使用node.js服务器、SpotifyAPI和spotify-web-api-jsnode模块创建一个web应用程序,用户可以在其中输入艺术家的名字,查看相关艺术家的歌曲列表,然后可选择将该播放列表保存到他们自己的Spotify帐户。但是,我在最后一步仍然遇到问题。我的用户授权流程首先发生:if(params.access_token){s.setAccessToken(params.access_token);s.getMe().then(function(data){console.log(data);console.log(data.id);user_id=data.id

javascript - 纠错后 Grunt watch 运行得更少

我遇到了GruntWatch目前在编译错误更正后没有重新运行任务的问题。我收到错误消息,但在更正错误后,grunt说文件已更改,但在那之后没有任务运行。咕噜声文件:watch:{less:{files:['public/assets/less/**/*.less'],tasks:['css'],options:{atBegin:true,nospawn:true}},scripts:{files:['public/assets/js/homepage.js'],tasks:['jsApp'],options:{nospawn:true,}}},错误日志:>>ParseError:Unr

javascript - 检测是否支持事件监听器

是否可以检测某些浏览器是否支持某些事件?我可以检测浏览器是否支持document.addEventListener,但我需要知道它是否支持事件DOMAttrModified。Firefox和Opera支持它,但Chrome和其他浏览器不支持。 最佳答案 更新的答案:是,您可以对此进行特征检测。创建一个元素,监听事件,并更改元素的属性。在我的测试中,您甚至不必将元素添加到DOM树,这使它成为一个很好的、包含的特征检测。例子:functionisDOMAttrModifiedSupported(){varp,flag;flag=fals

javascript - $watch 与 ngChange

假设您想要在$scope的属性更改时执行某些操作。并说此属性绑定(bind)到input字段。使用$watch与使用ngChange有哪些优点/缺点?htmlfoo:{{foo}}fooChangeCount:{{fooChangeCount}}js//Option1:$watch$scope.$watch('foo',function(){$scope.fooChangeCount++;});//Option2:ngChange$scope.fooChangeCount=0;$scope.increment=function(){$scope.fooChangeCount++;};h

javascript - grunt-contrib-watch with LiveReload 不工作

我无法让LiveReload与Grunt一起工作。我正在使用grunt-contrib-watch。当Grunt查看指定的文件时,浏览器中没有重新加载任何内容。所以我会看到:Running"watch"taskCompletedin0.203satThuNov21201300:59:59GMT-0500(EST)-Waiting...OK>>File"views/index.html"changed.但是浏览器窗口没有更新。我正在使用LiveReload2.0.9。关于如何让它运行有什么建议吗?Gruntfile.jsmodule.exports=function(grunt){'us

javascript - 在元素上添加事件监听器 - Javascript

有没有办法让我从onload函数中监听javascript中的onblur或onclick事件?而不是在元素本身中进行。变成这样functiononload(){varbutton=document.getElementById("buttonid");button.addEventListener("onclick",function(){alert("alert");});}编辑functiononload(){varbutton=document.getElementById("buttonid");if(button.addEventListener){button.addEv

javascript - 在没有 $scope 的情况下使用 $watch( Controller 作为语法)

在Angular1.3中,可以使用this.foo='bar'代替$scope.foo='bar'。现在,如何在没有$scope的情况下使用$watch? 最佳答案 在使用controlleras语法时,有几个选项可以避免必须使用$watch。以下示例摘自blogpostIwroteaboutavoiding$scope.使用ng-changeIfyouhaveawatchsetuptolistenforapropertychangethatoriginatesfromaformfield,thenng-changeisyourbe

用于更改对象变量的 javascript 事件监听器

这个问题在这里已经有了答案:ListenerforpropertyvaluechangesinaJavascriptobject(8个答案)关闭7年前。我有一个具有多个属性的对象变量。MyVar={"prop1":0,"prop2":0....};我如何编写一个事件监听器来监听任何属性的变化。感谢您的建议。

javascript - 如何将多个外部监听器注册到 d3 中的同一选择?

我正在用d3编写一个项目,其中有一个包含两个外部javascript文件的html页面,例如script_1.js和script_2.js。我需要从script_1.js注册一个事件监听器,从script_2.js注册另一个事件监听器以用于选择元素上的更改事件。目前我的html中有这一行:其中selectIndexSp(object)和selectIndexBt(object)分别定义在script_1.js和script_2.js中。我根本不喜欢这种方法,我想知道如何在d3中而不是在html文件中执行相同的任务,我知道这不是一个好的做法。提前致谢! 最佳答