我们知道在输入时会触发很多事件.
如keyup,keydown,keypress或其他东西.
是否只有在文本字段中的内容发生更改时才会触发其他事件?如果没有,如何编写一些javasrcipt代码来完成此功能
如何按名字对这个 JSON 对象进行排序?
{
1 :{user_id:1, first_name:"first_name1", last_name:"lastname1", email:"user1@test.com"},
7 :{user_id:7, first_name:"user2", last_name:"test2", email:""},
72 :{user_id:72, first_name:"testing343", last_name:"", email:""},
246:{user_id:246, first_name:"aaa", last_name:"ssss", email:""}
}
Run Code Online (Sandbox Code Playgroud) 我有一个JSON对象,它由一长串其他JSON对象组成,这些对象有一些共同的属性,如:
var myData = {
"0291" : { "Firstname" : "Jeremy", "Surname" : "Dyson" },
"0398" : { "Firstnname" : "Billy", "Surname" : "Bunter" },
"6714" : { "Firstnname" : "Harry", "Surname" : "Peterson" },
"9080" : { "Firstnname" : "Barry", "secondname": "Joe", "Surname" : "Mainwaring"}
...
...
}
Run Code Online (Sandbox Code Playgroud)
我已经构建了一个html模板.使用JS,我想以随机顺序选择或迭代(随机选择+循环)数据{}中的对象,这样我就可以为每个访问者动态填写HTML.随机部分很重要,因此每个访问者可能会得到不同的数据.
简单的JavaScript或jQuery解决方案将在部署它的上下文中工作.
编辑:我实施的解决方案如下.
1.收集所有密钥:
var keyArray = Object.keys(myData);
Run Code Online (Sandbox Code Playgroud)
2. 随机播放功能:
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = …Run Code Online (Sandbox Code Playgroud) 鉴于最终用户不想检查D3js可视化代码,也不想复制粘贴等.
给定一个D3 <svg>元素,其中包含所有形状和样式(不在任何外部CSS中).
是否有库/代码允许最终用户单击按钮将代码下载为独立的SVG文件.
该文件应该可以使用Inkscape和其他SVG兼容软件打开.这允许并允许最终用户分叉文件,将其打开到SVG编辑器中并在其上进行一些更高级的设计.
给定shapefile:
鉴于我们想重新投影D3js数据,我们可以在不同级别重新投影.
1.获取重新投影的shapefile(1),使用ogr2ogr:
ogr2ogr -f 'ESRI Shapefile' -t_srs 'EPSG:...' output.shp input.shp
Run Code Online (Sandbox Code Playgroud)
或者2.使用(npm)得到一个重新投影的topojson(2)topojson.js:
topojson \
-o output.topo.json
--projection 'd3.geo.albersUsa()' \
-q 1e5 \
-s 1 \
-- input.shp
Run Code Online (Sandbox Code Playgroud)
或3.获得重新投影的D3js数据/ SVG(1),D3js代码包括:
var path = d3.geo.path()
.projection(d3.geo.albersUsa()) // unsure of this syntaxe, confirmation welcome, just delete this comment.
Run Code Online (Sandbox Code Playgroud)
概述:
Mike Bostock>预计Topojson告诉我们,第一和第二种方式"消除了在渲染时投射几何体的需要,提高了性能[...]因为每个点的重要性是在屏幕上而不是在地球表面上测量的".简而言之,最终像素质量/文件重量比更好.
另一方面,在渲染时重新投影几何体允许更灵活的最后一分钟投影.
了解更多?
这就是我所知道的.如果有人可以解释这些方法的更多信息,分享帮助资源的参数(ogr的EPSG列表,d3js预测列表),以及各自的各自的好处/弱点,它可能是一个非常有趣的并行手册.
注意:我会给出我的答案,但我只是开始挖掘它.我想周围有更多有经验的人.
出于某种原因,相同的mp3文件:
在Firefox 上播放,并且不在Chromium版本37.0.2062.94 Ubuntu 14.04(290621)(64位)上播放.使用代码检查器,我在控制台中看不到任何反馈.
出了什么问题?如何使它工作?
以下代码适用于Chromium:
var node = window.d3.selectAll('#L1 > *:nth-child(2)');
var bbox = node.node().getBBox();
console.log(bbox) // {height: 44, width: 44, y: -13, x: 144}
Run Code Online (Sandbox Code Playgroud)
但不适用于nodejs + jsdom:
"TypeError: Object [ PATH ] has no method 'getBBox' "
Run Code Online (Sandbox Code Playgroud)
M. Bostock指出JSDOM 不支持 getBBox()
用什么D3js替代品来获得的边界框#L1 > *:nth-child(2)?
过去的努力使我到了这里:getBBox()基于小提琴

使用已在 NPM 上注册的模块时,包含它们的过程很简单:运行npm install <package>然后添加var package = require('<package>')
但是,在处理我自己的模块时,我不确定如何“设置”。我还没有准备好发布到 NPM,但我确实希望以require与之前概述的相同的方式发布该模块。
因此,我完成了以下步骤:
node_moduels我的模块的目录中创建了一个子目录package.json在这个新目录中添加了一个文件(通过 npm init)dependencies在package.json文件中包含一个部分这是在本地使用节点模块的正确方法吗?
另外,当我运行npm install时,我的模块的 package.json 文件中似乎没有检测到依赖项 - 我认为这是我处理事情的方式的问题吗?
做一个git add -p我看到一个差异和选择列表:
~/workspace$ git add -p
diff --git a/gulpfile.js b/gulpfile.js
index cf91028..c3a0964 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -57,7 +57,7 @@ gulp.task("pack", pack);
// Minify and concatenate all js libs
gulp.task("libs", function() {
return gulp.src([
- "js/libs/trackjs.js",
+ // "js/libs/trackjs.js", // hidden due to noise but not the bug
"js/libs/q.js",
"js/libs/jquery.js",
"js/libs/cookie.js",
Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?
Run Code Online (Sandbox Code Playgroud)
什么Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?选项来?哪里可以找到他们的解释?