小编Hug*_*lpz的帖子

用于输入中文(ibus)的JQuery/DOM事件?

我们知道在输入时会触发很多事件.

如keyup,keydown,keypress或其他东西.

是否只有在文本字段中的内容发生更改时才会触发其他事件?如果没有,如何编写一些javasrcipt代码来完成此功能

javascript jquery dom cjk ime

5
推荐指数
1
解决办法
905
查看次数

使用 jquery 对 JSON 进行排序

如何按名字对这个 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)

javascript jquery json

5
推荐指数
1
解决办法
1万
查看次数

如何从JSON字典中按键检索随机JSON对象?

我有一个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)

javascript random jquery json iterator

5
推荐指数
1
解决办法
1万
查看次数

5
推荐指数
1
解决办法
1118
查看次数

按钮下载inpage SVG代码作为SVG文件?

鉴于最终用户不想检查D3js可视化代码,也不想复制粘贴等.

给定一个D3 <svg>元素,其中包含所有形状和样式(不在任何外部CSS中).

是否有库/代码允许最终用户单击按钮将代码下载为独立的SVG文件.

该文件应该可以使用Inkscape和其他SVG兼容软件打开.这允许并允许最终用户分叉文件,将其打开到SVG编辑器中并在其上进行一些更高级的设计.

svg d3.js

5
推荐指数
1
解决办法
3278
查看次数

投射topojson的方法?

给定shapefile:

Natural_earth/ne_10m_admin_0_sovereignty.zip

鉴于我们想重新投影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预测列表),以及各自的各自的好处/弱点,它可能是一个非常有趣的并行手册.

注意:我会给出我的答案,但我只是开始挖掘它.我想周围有更多有经验的人.

ogr d3.js topojson

5
推荐指数
1
解决办法
1536
查看次数

Chromium没有播放mp3?

出于某种原因,相同的mp3文件:

在Firefox 上播放,并且不在Chromium版本37.0.2062.94 Ubuntu 14.04(290621)(64位)上播放.使用代码检查器,我在控制台中看不到任何反馈.

出了什么问题?如何使它工作?

audio mp3 google-chrome chromium

5
推荐指数
1
解决办法
5230
查看次数

D3js:查找路径的边界框(没有getBBox())?

以下代码适用于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()基于小提琴

在此处输入图片说明

node.js jsdom d3.js

5
推荐指数
1
解决办法
1340
查看次数

本地需要节点模块

使用已在 NPM 上注册的模块时,包含它们的过程很简单:运行npm install <package>然后添加var package = require('<package>')

但是,在处理我自己的模块时,我不确定如何“设置”。我还没有准备好发布到 NPM,但我确实希望以require与之前概述的相同的方式发布该模块。

因此,我完成了以下步骤:

  1. node_moduels我的模块的目录中创建了一个子目录
  2. package.json在这个新目录中添加了一个文件(通过 npm init)
  3. dependenciespackage.json文件中包含一个部分

这是在本地使用节点模块的正确方法吗?

另外,当我运行npm install时,我的模块的 package.json 文件中似乎没有检测到依赖项 - 我认为这是我处理事情的方式的问题吗?

node.js npm

5
推荐指数
1
解决办法
3802
查看次数

`git add -p`的选项有哪些?

做一个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,?]?选项来?哪里可以找到他们的解释?

git git-add

5
推荐指数
1
解决办法
2422
查看次数