Tag: JavaScript

在JavaScript中将数字转换为string的最佳方法是什么?

将数字转换为string(就速度优势,清晰度优势,内存优势等而言)是什么“最佳”方式? 一些例子: String(n) n.toString() ""+n n+""

单击时selectHTML文本input中的所有文本

我有以下代码在HTML网页中显示文本框。 <input type="text" id="userid" name="userid" value="Please enter the user ID" /> 当页面显示时,文本包含请input用户ID消息。 不过,我发现用户需要点击3次才能select所有文本(在这种情况下请input用户名 )。 只需点击一下就可以select整个文本吗? 编辑: 对不起,我忘了说:我必须使用input type="text"

AngularJS:如何在AngularJS渲染模板之后运行其他代码?

我在DOM中有一个Angular模板。 当我的控制器从服务中获取新数据时,它会更新$ scope中的模型,并重新呈现模板。 迄今为止都很好。 问题是我需要在模板被重新渲染并且在DOM(在这个例子中是一个jQuery插件)之后做一些额外的工作。 似乎应该有一个事件来听,如AfterRender,但我找不到任何这样的事情。 也许一个指令将是一条路要走,但似乎也太火了。 这是一个jsFiddle概述我的问题: 小提琴AngularIssue ==更新== 基于有用的评论,我已经相应地切换到处理DOM操作的指令,并在指令中实现了一个模型$ watch。 不过,我仍然有相同的基础问题; $ watch事件中的代码在模板被编译并插入到DOM之前触发,因此,jquery插件总是评估一个空表。 有趣的是,如果我删除asynchronous调用,整个事情就可以正常工作,所以这是一个正确的方向。 这是我更新的小提琴,以反映这些变化: http : //jsfiddle.net/uNREn/12/

如何获得对象的长度

有没有可以返回一个对象的长度的内置函数? 例如,我有a = { 'a':1,'b':2,'c':3 }应该返回3 。 如果我使用a.length则返回undefined 。 这可能是一个简单的循环函数,但我想知道是否有一个内置函数? 有一个相关的问题( JSON对象的长度 ) – 在select的答案中,用户build议将对象转换为数组,这对我的任务来说不是很舒服。

谷歌地图API V3 – 在同一地点的多个标记

位卡在这一个。 我正在通过JSON检索地理坐标列表,并将其popup到谷歌地图上。 除了在同一地点有两个或多个标记的情况之外,所有的工作都很好。 API只显示1个标记 – 最上面的一个。 我想这是公平的,但想find一种方法来显示它们。 我search谷歌,并find了一些解决scheme,但他们似乎主要是V2的API或只是不那么好。 理想情况下,我想要一个解决scheme,你点击某种组标记,然后显示聚集在他们所在地点的标记。 任何人有这个问题或类似的问题,并会分享解决scheme吗?

什么是$ $$ hashKey添加到我的JSON.stringify结果

我曾尝试寻找他们的文档的Mozilla JSON stringify页面以及SO和Google的这里,但没有find任何解释。 我已经使用JSOn很多时间,但从来没有遇到过这个结果 我有一个JSON对象的数组 [ { "param_2": "Description 1", "param_0": "Name 1", "param_1": "VERSION 1" }, { "param_2": "Description 2", "param_0": "Name 2", "param_1": "VERSION 2" }, { "param_2": "Description 3", "param_0": "Name 3", "param_1": "VERSION 3" } ] 附加到我的$scope和为了发布他们作为一个参数我使用JSON.stringify()方法,我得到以下内容: [ { "param_2": "Description 1", "param_0": "Name 1", "param_1": "VERSION 1", "$$hashKey": "005" }, […]

如何查找数组是否包含JavaScript / jQuery中的特定string?

有人能告诉我如何检测数组中是否出现"specialword" ? 例: categories: [ "specialword" "word1" "word2" ]

AngularJSdynamic路由

我目前有一个AngularJS应用程序内置的路由。它的工作原理,一切都很好。 我的app.js文件如下所示: angular.module('myapp', ['myapp.filters', 'myapp.services', 'myapp.directives']). config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/', { templateUrl: '/pages/home.html', controller: HomeController }); $routeProvider.when('/about', { templateUrl: '/pages/about.html', controller: AboutController }); $routeProvider.when('/privacy', { templateUrl: '/pages/privacy.html', controller: AboutController }); $routeProvider.when('/terms', { templateUrl: '/pages/terms.html', controller: AboutController }); $routeProvider.otherwise({ redirectTo: '/' }); }]); 我的应用程序内置了一个CMS,您可以在/ pages目录中复制和添加新的html文件。 即使对于新的dynamic添加的文件,我仍想通过路由提供程序。 在理想的世界中,路由模式将是: $ routeProvider.when('/ pagename ',{templateUrl:'/ pages / pagename .html',controller:CMSController}); […]

如何限制谷歌自动完成的结果只有城市和国家

我正在使用谷歌自动完成的地方的JavaScript来返回我的search框的build议结果,我需要的是只显示城市和国家相关的字符input,但谷歌API会给很多一般的地方结果,我不需要,所以如何限制结果只显示城市和国家。 我正在使用下面的示例: <html> <head> <style type="text/css"> body { font-family: sans-serif; font-size: 14px; } </style> <title>Google Maps JavaScript API v3 Example: Places Autocomplete</title> <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script> <script type="text/javascript"> function initialize() { var input = document.getElementById('searchTextField'); var autocomplete = new google.maps.places.Autocomplete(input); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div> <input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on"> […]

如何触发JavaScript中的窗口大小事件?

我已经在窗口大小上注册了一个触发器。 我想知道如何触发这个事件。 例如,当隐藏div时,我想要调用我的触发器函数。 我发现window.resizeTo()可以触发该函数,但有没有其他解决scheme?