Tag: JavaScript

在javascript中从平面数组构build树数组

我有一个复杂的json文件,我必须使用javascript来处理它,以便稍后构build一个树。 json的每个条目都有:id:唯一标识,parentId:父节点的标识(如果节点是树的根,则为0)level:树中的深度级别 json数据已经“sorting”了。 我的意思是一个条目将有一个父节点或兄弟节点本身之上,并且在它自己之下是一个子节点或一个兄弟节点。 input: { "People": [ { "id": "12", "parentId": "0", "text": "Man", "level": "1", "children": null }, { "id": "6", "parentId": "12", "text": "Boy", "level": "2", "children": null }, { "id": "7", "parentId": "12", "text": "Other", "level": "2", "children": null }, { "id": "9", "parentId": "0", "text": "Woman", "level": "1", "children": null […]

将JavaScript数据导出到CSV文件,无需服务器交互

如果我们在一个nodeJS服务器上,我们可以写一个头文件,设置一个MIMEtypes,然后发送它: res.header("Content-Disposition", "attachment;filename="+name+".csv"); res.type("text/csv"); res.send(200, csvString); 由于标题,浏览器将为指定的csv文件创build一个下载。 当在浏览器中生成有用的数据时,获取CSV文件的一个解决scheme是使用ajax,将其上传到服务器(也许可以select将其保存在那里),然后让服务器将这些头信息发送回来csv在浏览器中下载回来。 不过,我想要一个100%的浏览器解决scheme,不涉及与服务器的乒乓。 所以我想到了,我们可以打开一个新的窗口,并尝试设置与META标签等效的标题。 但是这在最近的Chrome中并不适用于我。 我得到一个新的窗口,它包含csvString,但不作为下载。 我想我希望得到一个底部的选项卡下载或在底部的选项卡下载一个空白的新窗口。 我想知道meta标签是否正确或者是否还需要其他标签。 有没有办法让这个工作,而不是把它推到服务器? JsFiddle在浏览器中创build一个CSV(不工作 – 输出窗口,但没有下载) var A = [['n','sqrt(n)']]; // initialize array of rows with header row as 1st item for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) } var csvRows = []; for(var i=0,l=A.length; i<l; ++i){ csvRows.push(A[i].join(',')); // unquoted CSV row } var csvString = […]

最简单的方法来等待一些asynchronous任务完成,在Javascript中?

我想删除一些MongoDB集合,但这是一个asynchronous任务。 代码将是: var mongoose = require('mongoose'); mongoose.connect('mongo://localhost/xxx'); var conn = mongoose.connection; ['aaa','bbb','ccc'].forEach(function(name){ conn.collection(name).drop(function(err) { console.log('dropped'); }); }); console.log('all dropped'); 控制台显示: all dropped dropped dropped dropped 什么是最简单的方法来确保all dropped将被打印所有集合已被删除后? 任何第三方都可以用来简化代码。

长按JavaScript?

是否有可能实现JavaScript(或jQuery)的“长按”? 怎么样? 替代文字http://androinica.com/wp-content/uploads/2009/11/longpress_options.png HTML <a href="" title="">Long press</a> JavaScript的 $("a").mouseup(function(){ // Clear timeout return false; }).mousedown(function(){ // Set timeout return false; });

设置自定义HTML5必填字段validation消息

必填字段自定义validation 我有一个有很多input字段的表单。 我已经把html5validation <input type="text" name="topicName" id="topicName" required /> 当我提交表单没有填写这个文本框时,它显示默认消息 "Please fill out this field" 任何人都可以请帮我编辑这个消息吗? 我有一个JavaScript代码来编辑它,但它不工作 $(document).ready(function() { var elements = document.getElementsByName("topicName"); for (var i = 0; i < elements.length; i++) { elements[i].oninvalid = function(e) { e.target.setCustomValidity(""); if (!e.target.validity.valid) { e.target.setCustomValidity("Please enter Room Topic Title"); } }; elements[i].oninput = function(e) { e.target.setCustomValidity(""); }; } […]

如何通过JavaScript捕获一个Mac的命令键?

如何通过JavaScript捕获Mac的Cmd键?

如何检测Flash是否安装,如果没有,显示一个隐藏的div通知用户?

我如何使用JavaScript / jQuery /等检测是否安装了Flash,如果不是,显示一个包含信息通知用户,他们需要安装闪存的股利?

按照名字(按字母顺序)在Javascript中对数组进行sorting

我有一个数组(见下面的数组中的一个对象),我需要使用JavaScript的名字进行sorting。 我该怎么做? var user = { bio: null, email: "user@domain.com", firstname: "Anna", id: 318, lastAvatar: null, lastMessage: null, lastname: "Nickson", nickname: "anny" };

在引用原文的同时覆盖JavaScript函数

我有一个函数, a() ,我想重写,但也有原始的a()按顺序执行取决于上下文。 例如,有时当我生成一个页面,我想要这样重写: function a() { new_code(); original_a(); } 有时候是这样的: function a() { original_a(); other_new_code(); } 我如何从顶部的a()获得original_a() a() ? 这甚至有可能吗? 请不要以这种方式build议替代scheme,我知道很多。 我正在问这个具体的方式。

javascript正则expression式删除所有特殊字符

我想要一个RegExp,它将删除string中的所有特殊字符。 我正在尝试这样的东西,但它不工作在IE7(这是什么工作内联网使用)。 适用于Firefox。 var specialChars = "!@#$^&%*()+=-[]\/{}|:<>?,."; for (var i = 0; i < specialChars.length; i++) { stringToReplace = stringToReplace .replace(new RegExp("\\" + specialChars[i], 'gi'), ''); } 我吮吸RegExp,所以它的详细说明也会有所帮助。