我有以下哪个在绑定到$ scope.id的<input>字段上进行监视。 每次input字段值改变时,watch函数被执行: $scope.$watch("id", function (id) { // code that does something based on $scope.id }); 有没有一种方法,我可以把这个超时或去杠杆_lodash这样的代码不会执行每个按键,而用户正在改变的价值。 我想要的是延迟一秒,以便在用户停止键入一秒钟之后,手表内的代码块就会运行。 请注意,input值是随时可能改变的。 例如,如果值为“1”或“10”或“1000”,则需要调用该函数。 这类似于带有build议的search框在Google中的工作方式。 如果用户input999,那么我需要调用该函数。 如果他删除了9,所以它是99,那么我需要调用该函数。 我有_lodash可用,所以使用这个解决scheme可能是最适合我的需求。
对于noobie问题抱歉。 你能解释一下,有什么区别: 1. var a = []; a['b'] = 1; 2. var a = {}; a['b'] = 1; 我找不到在互联网上的文章,所以写在这里。
我使用了<a href="…"> <img …> </a>链接到另一个页面的图像。 我怎样才能使它像一个button<input type="submit"…> ?
所以我有一个页眉,主体和页脚的网页。 我希望主体填充100%的页面(在页脚和页眉之间填充100%)我的页脚是绝对位置,底部为0.每当我尝试将主体设置为100%高度或更改位置或东西时,它也将溢出标题。 如果将body设置为绝对top: 40 (导致我的标题是40px高),它将只是下降40px,创build一个滚动条。 我创build了一个简单的html文件,因为我实际上不能从实际项目中发布整个页面/ css。 使用示例代码,即使maincontent主体填满了屏幕,它也会下降40px(引起我的头)。 html, body{ margin: 0; padding: 0;} header{ height: 40px; width: 100%; background-color: blue; } #maincontent{ background-color: green; height: 100%; width: 100%; } footer{ height: 40px; width: 100%; background-color: grey; position: absolute; bottom: 0; } 的HTML <html> <head> <title>test</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <header></header> <div id="maincontent"> […]
我已经在Netbeans上用JS Test Driverbuild立了JavaScriptunit testing。 我可以通过命令行运行所有的testing。 (在Windows PowerShell上)。 运行如下,失败后testing不会停止运行: java -jar $env:JSTD\JsTestDriver-1.3.5.jar –tests all –config jsTestDriver.conf jsTestDriver.conf文件: server: http://localhost:4244 load: – test/lib/jasmine/jasmine.js – test/lib/jasmine-jstd-adapter/JasmineAdapter.js – test/unit/*.js 所有三个testing运行。 问题 在Netbeans上,testing运行在第一个断言失败时停止。 题 我怎样才能使testing运行继续完成(即使断言失败发生)? jsTestDriver.conf文件: server: http://localhost:42442 load: – test/lib/jasmine/jasmine.js – test/lib/jasmine-jstd-adapter/JasmineAdapter.js – test/unit/*.js test.js文件: AssertionsTestCase = TestCase("AssertionsTestCase"); AssertionsTestCase.prototype.testAlwaysPass = function(){ assertEquals(1, 1); assertEquals(2, 2); }; AssertionsTestCase.prototype.testAlwaysFail1 = function(){ […]
如何获得一个对象的引用计数 是否有可能确定一个JavaScript对象有多个引用 ? 或者,如果除了我正在访问的引用之外还有引用? 甚至只是为了得到引用计数本身? 我可以从javascript本身find这些信息,还是需要跟踪我自己的引用计数器。 显然,对于我的代码访问对象,必须至less有一个引用。 但是我想知道的是,如果有任何其他的引用,或者我的代码是唯一被访问的地方。 我希望能够删除对象,如果没有别的引用它。 如果你知道答案,就没有必要读这个问题的其余部分。 下面只是一个例子,使事情更清楚。 用例 在我的应用程序中,我有一个名为contacts的Repository对象实例,其中包含所有我的联系人数组。 还有多个Collection对象实例,如friends集合和coworkers集合。 每个集合包含一个数组,其中包含来自contacts Repository一组不同的项目。 示例代码 为了使这个概念更具体,请考虑下面的代码。 Repository对象的每个实例都包含特定types的所有项目的列表。 您可能有一个联系人存储库和一个单独的事件存储库。 为了简单起见,您可以获取,添加和删除项目,并通过构造函数添加许多项目。 var Repository = function(items) { this.items = items || []; } Repository.prototype.get = function(id) { for (var i=0,len=this.items.length; i<len; i++) { if (items[i].id === id) { return this.items[i]; } } } Repository.prototype.add = function(item) […]
我想从JavaScript切换到TypeScript,以帮助代码pipe理,因为我们的项目变得更大。 然而,我们使用了许多库,如amd Modules,我们不想将其转换为TypeScript。 我们仍然想将它们导入到TypeScript文件中,但是我们也不想生成定义文件。 我们怎样才能做到这一点? 例如新的Typescript文件: /// <reference path="../../../../definetelyTyped/jquery.d.ts" /> /// <reference path="../../../../definetelyTyped/require.d.ts" /> import $ = require('jquery'); import alert = require('lib/errorInfoHandler'); 在这里, lib/errorInfoHandler是一个巨大的JavaScript库中包含的amd模块,我们不想去碰它。 使用上面的代码会产生以下错误: Unable to resolve external module ''lib/errorInfoHandler'' Module cannot be aliased to a non-module type. 这实际上应该产生以下代码: define(["require", "exports", "jquery", "lib/errorInfoHandler"], function(require, exports, $, alert) { … } 有没有办法将一个JavaScript库作为一个amd模块导入到TypeScript中,并在TypeScript文件中使用它,而无需创build定义文件?
Steve Sanderson在荷兰的Techdays 2012上做了一个非常有趣的演讲。 在其中的一个中, 他提出了一个在MVC应用程序中用于客户端 – 服务器通信的库:Upshot。 我真的很惊讶,它是多么容易使用它,所以我想下载并testing它。 我通过NuGet在这里find了下载链接,但我找不到任何文档。 有没有人有东西的作品? 我还要感谢史蒂夫在演讲中展示的示例代码。 编辑: 我find了我在Techdays参加的在线演讲。 这是非常值得一看的。 你会看到什么结果是能够的,也得到一个想法如何开始。 祝好运并玩得开心点。 链接: http : //channel9.msdn.com/Events/TechDays/Techdays-2012-the-Neherlands/2159
在WebKit和Firefox下, input的placeholder的文本在focus不变,直到input.val实际上有一些内容才会消失。 有没有一种强制IE10做同样的事情的好方法?
理想情况下,我希望整个界面有一个自定义的样式 ,在虚拟键盘存在的ios(itouch / ipad)或android等价物上可见。 请参阅下面的更多细节。 当键盘“存在”时,一个自定义的CSS黑客行为规则被激活,也是一个可以接受的解决scheme。 在网站(HTML / JavaScript / CSS)上同时指定android和ios。另外注意里面的布局是: “fluid”。 编辑:这是更多的devise,然后文本; 所以这些改变不会让人迷失方向。 在最底层,我只是希望有和没有虚拟键的devise更改(也许只是背景变化)。 这是一个好的还是坏的devise理念,这个问题值得商榷。 但是,我觉得这个问题是无关紧要的。 对于这样的漏洞,可以使用更多的文本(如游戏或交互式媒体)。 因此,赏金:尽pipe不再需要我正在进行的项目(使用替代devise)的答案。 我仍然相信这个问题可以从回答中受益。 默认行为 +——–+ | | +————+ +-+-hidden-+-+ <- ~50% hidden | +——–+ | | +——–+ | | | | | | |visible | | | | | | \ | | | | <- ~50% visible […]