Tag: JavaScript

$ .getJSON函数中设置的variables只能在函数内访问

这可能更多是一个范围问题。 我试图设置一个$ .getJSON函数内的JSON对象,但我需要能够在callback之外使用该对象。 var jsonIssues = {}; // declare json variable $.getJSON("url", function(data) { jsonIssues = data.Issues; }); // jsonIssues not accessible here 在另一篇文章中也提到过类似的问题,我的共识是我需要做的JSON对象需要在callback函数中完成,并且不能在其他任何地方访问。 是否真的没有办法,我可以继续访问/操纵$ .getJSONcallback以外的JSON对象? 那么返回variables,或设置全局? 我会很感激任何帮助。 这似乎不正确… 更新: 尝试设置$ .ajax()asynchronous设置为false,并运行相同的代码,没有运气。 我试过的代码如下: var jsonIssues = {}; // declare json variable $.ajax({ async: false }); $.getJSON("url", function(data) { jsonIssues = data.Issues; }); // jsonIssues still […]

style.display =“'实际上做了什么?

在研究了这个问题几个小时之后,我发现切换页面元素的显示效果最好的方法之一就是执行如下操作: // showing document.getElementById('element').style.display = ''; // hiding document.getElementById('element').style.display = 'none'; 简单的问题: style.display = ''实际上做了什么? 是否“重置”原来的显示属性? 还是它删除显示属性,从而使用默认样式显示? …………………………………… 很高兴知道:有没有人知道任何关于这种文件的任何链接? (是的,我有Google-d这个问题,但我可能没有input正确的search字词,而是继续提供完全不相关的search结果。) 感谢您的任何build议或链接。

resharper,Javascript:“使用隐式声明的全局variables'X'”

我正在使用Resharper 6和ASP.NET Web方法,并在我的JavaScript文件中有一个恼人的警告: "Use of implicitly declared global variable 'X'" 原因是web方法是在Javascript中创build的: new X.example().webMethod(arg1, arg2, successCallback, failureCallback); 而X …是隐式定义的。 我想知道是否有解决scheme明确定义这个? 它在一些自动生成的JS文件中定义,由ASP.NET web方法框架创build。 我的问题是:如何摆脱这种情况的错误,而不是摆脱合法的错误情况呢? 谢谢!

什么是文本节点,它的用途? //document.createTextNode()

所以我一直在慢慢地用原生javascript取代很多正常的jQuery代码,而且我碰到了document.createTextNode()和相关的MDN文档 。 阅读后我有点困惑什么是文本节点。 我知道它可以用来把文本放在div的内部,但我相信还有更多的东西不仅仅是“用它把单词放在元素里面”。 看着这个,看起来文本节点也可以引用属性的文本。 任何人都可以提供更多的定义什么是文本节点,以及它用于什么? 除了像这样的基本东西以外,还有其他的实际用途吗? var div = document.createElement('div'); var text = document.createTextNode('Y HALO THAR'); div.appendChild(text);

如何使用Bluebird对节点的child_process.exec和child_process.execFile函数进行promisify?

我在Node.js下使用蓝鸟承诺库,这太棒了! 但是我有一个问题: 如果查看Node的child_process.exec和child_process.execFile的文档,可以看到这两个函数都返回一个ChildProcess对象。 那么推荐这种function的推荐方式是什么? 请注意,以下作品(我得到一个Promise对象): var Promise = require('bluebird'); var execAsync = Promise.promisify(require('child_process').exec); var execFileAsync = Promise.promisify(require('child_process').execFile); 但是,如何获得原始的Node.js函数的原始返回值呢? (在这些情况下,我需要能够访问最初返回的ChildProcess对象。) 任何build议,将不胜感激! 编辑: 这是一个使用child_process.exec函数的返回值的示例代码: var exec = require('child_process').exec; var child = exec('node ./commands/server.js'); child.stdout.on('data', function(data) { console.log('stdout: ' + data); }); child.stderr.on('data', function(data) { console.log('stderr: ' + data); }); child.on('close', function(code) { console.log('closing code: ' + code); […]

将“onclick”事件附加到D3图表背景

我有一个D3直方图图表,我在其上附加了一个“onclick”事件: … var bar = svg.selectAll(".bar") .data(data) .enter().append("g") .attr("class", "bar") .attr("transform", function(d) { return "translate(" + x(dx) + "," + y(dy) + ")"; }) .on('mouseover', tip.show) .on('mouseout', tip.hide) .on('click', function(d,i){ //do stuff }); … 这完全按照预期工作。 我还想在图表的背景(即图表中不是酒吧的任何地方)添加一个“onclick”事件,但是我遇到了这个问题。 我已经尝试过以两种方式附加事件,但是在任何情况下,这个新事件似乎都会覆盖我的栏点击: 有些尝试: $("svg:not('.bar')").on("click", function(){ //do stuff }); $("g:not('.bar')").on("click", function(){ //do stuff }); var svg = d3.select("#histogram_block").append("svg") .attr("width", width + […]

为什么Javascript负数不总是正确的或错误的?

-1 == true; //false -1 == false //false -1 ? true : false; //true 任何人都可以解释上面的输出? 我知道我可以通过比较0来解决这个问题,但我很感兴趣。 我期望至less有一个马虎的平等语句是真实的,因为他们做隐式types转换,而且我当然不希望三元的结果是完全不同的。

在线代码着色服务

我想知道是否有人知道我们粘贴代码的在线服务,并生成该代码的彩色html源代码。 它可以是PHP,HTML,CSS,Javascript,C,Java。 想法是,一旦我有了彩色的HTML代码,我可以很容易地把它放在我的wordpress.com博客。 我知道[sourcecode language="whatever"]但只是想知道一个支持多种语言的在线服务。 好处是,我可以从该在线服务中为我的代码select任何颜色风格/主题。 谢谢

AngularJS条件ng-disabled不能重新启用

给定一个使用ng-disabled="truthy_scope_variable"的有条件禁用的文本input字段,AngularJS在范围variables第一次被伪造时禁用该字段,但是在随后的变化中不启用它。 因此,该领域仍然残疾。 我只能假设出了问题,但是控制台日志是空的。 truthy范围variables绑定到一个单选button模型,我甚$watch可以$watch它的变化,但input字段的ng-disabled没有按预期工作。 我已经手动尝试调用$apply ,但它看起来像Angular触发DOM更改。 在控制器中: $scope.new_account = true 单选button: <input type="radio" ng-model="new_account" name="register" id="radio_new_account" value="true" /> <input type="radio" ng-model="new_account" name="register" id="radio_existing_account" value="false" /> 有条件禁用的input字段: <input type="password" ng-disabled="new_account" id="login-password" name="password" ng-model="password" /> 如果我最初设置$scope.new_account = false ,该字段呈现禁用,但从来没有重新启用。 为什么发生这种情况?

node.js的unit testing框架,专门支持testingasynchronous代码?

在node.js模块列表中列出了30多个testing框架… 哪个框架最受欢迎? 他们有什么优点和缺点? 我正在寻找一个框架,支持有很多asynchronouscallback(可能像大多数其他节点项目)的代码的unit testing。 另外,我正在寻找一些相对简单而又复杂的东西。 到目前为止,我已经看过: Nodeunit非常简单,支持asynchronous代码,可以让你定义你想要调用的断言以及testing完成的时间。 Vowsjs看起来很有趣。 允许您很好地构造testing,并具有许多高级function。 不确定这些function是否实际上是有用的,通过,或者如果他们相当阻碍你的方式?