草庐IT

上下册

全部标签

javascript - 使用 querySelectorAll 时,是否可以在不使用 ID 的情况下引用上下文节点的直接子节点?

假设我有一个像这样的HTML结构要使用querySelectorAll查询“a”的child,我可以做类似的事情//Get"b",butnot"c"document.querySelectorAll('#a>div')我的问题是:是否可以在没有ID的情况下直接引用节点来执行此操作?我试过做vara_div=document.getElementById('a')a_div.querySelectorAll('>div')//但我收到一条错误消息,告诉我我使用的选择器无效。如果有人想知道,我的实际用例会更复杂,例如“>.foo.bar.baz”,所以我宁愿避免手动DOM遍历。目前我正在向

javascript - 为什么 AngularJS 中的 $event.preventDefault() 不阻止出现上下文菜单?

如标题所说,我不确定为什么$event.preventDefault()没有阻止右键单击时出现上下文菜单。我写了thissimpleexample在plunker中演示问题。HTML:CLICKME{{num}}Javascript:$scope.stopContext=function(ev){$scope.num+=1;ev.preventDefault();};提前致谢。 最佳答案 为了阻止上下文菜单,您需要捕获(并阻止)contextmenu事件。不幸的是,Angular没有针对此事件的指令,因此您必须自己创建一个。从Ang

javascript - JavaScript 中的执行上下文

为JavaScript中的每个函数创建一个新的执行上下文。运行以下代码时,内存中有多少个执行上下文?请注意,未调用函数Bar。functionFoo(){functionBar(){}}Foo();还有,什么时候创建执行上下文?在评估时还是运行时? 最佳答案 函数的运行时调用是导致创建执行上下文的原因。因此,在您的示例中,只有一个函数调用,因此只涉及一个执行上下文。函数的静态(编译时)排列很重要,因为它决定了范围和执行上下文的最终内容。然而,对于创建上下文而言,真正重要的是对函数的实际调用。(一些较旧的语言使用术语“激活记录”,尽管

javascript - 在 $.each() 中更改上下文

我正在尝试更改jQuery的$.each方法的上下文。我错过了什么?$.each.call(this,[1,2,3],function(){console.log(this);//expectingtoseethewindowobject});varfoo={bar:1};$.each.call(foo,[1,2,3],function(){console.log(this);//expectingtoseethefooobject});http://jsfiddle.net/53jhrbh5/ 最佳答案 $.each在内部使用ca

javascript - 自定义 Highcharts 上下文菜单按钮出现在页面上的每个图表中

我有一个包含多个图表的页面,我需要能够将特定选项添加到每个图表的导出上下文菜单中。这是我正在使用的代码:myChart.options.exporting.buttons.contextButton.menuItems.push({text:"CustomOption",onclick:someFunction});不幸的是,这会为每个图表添加该选项,而不仅仅是myChart引用的图表。我希望能够添加一个选项并让它只出现在一个图表上。这是一个演示的fiddle:http://jsfiddle.net/4uP5y/2/谢谢! 最佳答案

JavaScript - 检查是否在全局上下文中

当函数附加到对象并被调用时:functionf(){returnthis.x;}varo={x:20};o.func=f;o.func();//evaluatesto20this指的是函数被调用为方法的对象。这相当于执行f.call(o)。当函数不是作为对象的一部分被调用时,this指的是全局对象。如何检查是否从非对象上下文调用函数?是否有任何标准关键字来访问全局对象?这样做的唯一方法是这样吗?globalobj=this;functionf(){if(this==globalobj)doSomething();}注意:我在这里没有特别的用例-我实际上是在问这个确切的机制。

javascript - 当前上下文中不存在名称 'ScriptManager'

我复制了一些代码来解决在ASP.Net中AJAX回发后运行JavaScript的问题。不幸的是,新代码在构建时给了我以下错误:Thename'ScriptManager'doesnotexistinthecurrentcontext现在我以前使用过ScriptManager,那么为什么它现在给我带来问题呢?它不是在所有ASP.Net页面上都可用吗?毕竟我的母版页上有一个脚本管理器... 最佳答案 如果您没有在System.Web.UI中获取ScriptManager,则添加对System.Web.Extensions的引用。(转到解

javascript - 在 backbone.js 中使用绑定(bind)传递上下文

我希望我的面板在被点击时重新呈现。但是,当我执行点击时,我得到以下信息:UncaughtTypeError:Cannotcallmethod'get'ofundefined看起来我正在记录的“this”实际上是模型本身:_callbacks:Object_changed:true_escapedAttributes:Object_previousAttributes:Objectattributes:Objectcid:"c0"collection:r.did:"f5589ba4-a0aa-dd86-9697-30e532e0f975"__proto__:n我无法弄清楚为什么没有通过将

javascript - 一个 "safe place"来评估 Javascript 中的受信任代码(具有特定上下文)? [编辑: how can you break it?]

不要在标题上评判我,我知道eval是邪恶的,但我这样做是有原因的,而且会非常有限。事情是这样的:我想创建一个安全的空间,我可以在其中运行特定的(和受信任的)代码,并检索结果(如果它符合我的期望)。出于安全原因,我想将它从所有其他范围中删除(这个空间被要求提供结果,并且应该不能单独将任何内容导出到周围的范围)。我找到了一个似乎可行的解决方案,它也可以为执行添加上下文,但我不确定它是否有效,或者该系统中是否存在安全漏洞。你能告诉我它是否有问题吗?它实际上创建了与全局变量同名的本地变量,以防止访问它们。它还剥离了功能(我将添加功能以保留我想要保留的功能)。该函数声明为最接近全局变量,以避免更

javascript - Ember.js:将 Em.$.getJSON 转换为 promise 并将响应绑定(bind)到 Controller 上下文的正确方法?

我正在使用$.getJSON获取一些数据,我想将这些数据异步绑定(bind)到Controller上下文。我在我的route想出了这个-它有效,但我对此并不满意:setupController:function(controller,model){this._super(controller,model);Em.RSVP.Promise.cast(Em.$.getJSON((this.get('ENV.apiBaseURL'))+"/users/current/live_matchday_stats")).then((function(_this){returnfunction(s){