草庐IT

javascript - 将事件绑定(bind)到多个元素而不循环(vanilla JS)

我正在努力实现相当于:$('div').on('click',function(){//Dosomething});但没有jQuery。我最初的想法是使用for循环来遍历集合中的所有元素,但我猜测有一种不使用循环(某种native方法?)实现这一点的更好方法。varelems=document.getElementsByTagName('div');functionsomeEvent(){//Genericfunctiontotestagainstalert('eventfired');}for(vari=0,j=elems.length;i有没有不包含库的更优雅的方法?

javascript - ng-click、ng-mouseover 等是否会创建观察者并减慢页面速度?它比 jQuery 事件绑定(bind)更好吗?

我想知道在整个应用程序中大量使用ng-click、ng-mouseover等指令是否会导致类似于ng-repeat的性能问题?我正在使用AngularJS开发一个应用程序。由于ng-repeat和它创建的观察者数量,我已经遇到了很多问题。性能受到了影响,我正在努力解决。 最佳答案 在Angular的事件指令中没有创建额外的watch。事件指令非常简单,使用jquery(如果不包含jquery,则使用jqLit​​e)将事件监听器添加到带有指令的元素(即ng-click)。这是以Angular设置事件指令的代码。如您所见,他们并没有创

javascript - 绑定(bind)函数为空

functionf(){returnthis.x}f=f.bind(null)f()//undefinedx=1f()//1我找不到任何显示绑定(bind)到null或undefined无效的页面。到处都写着this成为bind的第一个参数的链接,没有提到异常(exception)情况。有人可以提供指向描述此类行为的地方的链接吗? 最佳答案 这种行为在严格模式和非严格模式之间是不同的。在非严格模式下,如果将thisArg设置为null或undefined,则this将是强制到全局对象(window)。在严格模式下,this可以是nu

javascript - 在 javascript 或 node.js 中是否有等价于 std::bind 的东西?

这是一个远景,但我想知道在javascript或node.js中是否有C++std::bind这样的东西?这是我觉得需要绑定(bind)的示例:varwriteResponse=function(response,result){response.write(JSON.stringify(result));response.end();}app.get('/sites',function(req,res){res.writeHead(200,{'Content-Type':'text/plain'});dbaccess.exec(query,function(result){res.w

javascript - VueJs - 将输入绑定(bind)到 url 参数

我想在vue.js中将输入字段绑定(bind)到路由参数。这可能吗? 最佳答案 我发现的最直接的方法如下:--data(){return{foo:this.$route.query.foo};},watch:{foo(newVal){this.$router.push({query:{...this.$route.query,foo:newVal}});},'$route.query.foo':function(val){this.foo=val;}}编辑2019-08-16:添加了对$route的监视以对返回导航使用react。

javascript - 如果通过 jquery 更新,Vuejs 绑定(bind)不起作用

JsfiddleHTML:ClickmeShowvalueJavascriptvartestVue=newVue({el:'#testVue',data:{testModel:'HelloVue!'},methods:{clickMe:function(){$("#test").val("testing");console.log(this.testModel);},showValue:function(){console.log(this.testModel);}}});我完全理解我不应该在Vuejs$("#test").val("testing");中这样做,我应该像this.te

javascript - jQuery 只绑定(bind)到 keyup,而不是焦点

这看起来很简单,但谷歌没有为我找到任何东西:如何仅绑定(bind)到文本/值更改事件,不包括获得焦点的输入?即,给出以下内容:$(function(){$('input#target').on('keyup',function(){alert('Typedsomethingintheinput.');});});...当用户跳入和跳出元素时将触发警报,无论他们是否实际输入文本。除非用户在文本字段中输入/更改文本,否则如何允许用户通过键盘在表单中导航而不触发事件?注意:我展示的是脚本的简化版本,不使用change事件的原因是在我的真实代码中我有一个延迟计时器,所以该事件在用户停止输入一秒

javascript - 将主干 View 绑定(bind)到 html 已经渲染器

有没有一种奇特的方法可以将View绑定(bind)到页面中已经呈现的html?例如,您的服务器加载所有页面html,然后在该html之上加载View,而无需在第一次加载页面时使用render方法。 最佳答案 我已经完成了与我认为您正在尝试做的类似的事情。就我而言,我在现有表单之上添加了Backbone功能。这是一个精简的例子:现有的HTML:Username:主干:varMyFormView=Backbone.View.extend({events:{"submitform":"formHandler"},formHandler:f

javascript - 绑定(bind)父元素与直接绑定(bind)元素有优缺点吗?

为了更好地理解jQuery性能,我遇到了以下问题。考虑将点击事件绑定(bind)到列表中的项目的两个大致相等的解决方案:列表项:OneTwoThreeOneTwoThree注意有两个相同的列表(除了ID)。现在,考虑使用以下jQuery为item中的每个anchor绑定(bind)客户端事件:$('#items').on('click','.itema',function(e){console.log("###Itemsclick");});$('#items2.itema').on('click',function(e){console.log("###Items2click");}

javascript - 渲染结果像素化(或 : has lower resolution that it should)

我正在做一些原型(prototype)设计,我正在使用three.js(版本68)以3D形式显示一些数据。整个动画的预期结果将是一堆彩色球(代表根据某种模式着色的质子和中子)。一切正常,但由于我不知道的原因,渲染的结果是像素化的。当前版本基本上是这样的(这张图片宽约400像素):我检查了所有明显的事情,例如:传递不正确的分辨率、浏览器缩放等等。您可以在thisfiddle上查看此问题,并下载webpagehere.这里还有相关的代码部分:canvas{width:100%;height:100%}$(function(){ctrl=newAnimController("#animati