我今天又问了一个问题,还有另一个问题......
但首先是代码:
var str_parse = function(data){
data = data.replace(/<[/]*body[^>]*>/g,'');
data = data.replace(/<--[\S\s]*?-->/g,'');
data = data.replace(/[\r]+/g,'');
data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g,'');
data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g,'');
data = data.replace(/<script.*\/>/,'');
return data
}
get_url = function(URL){
$.ajax({
url:"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(URL)+"%22",
dataType: "jsonp",
type: 'get',
success: function(r){
data=r.results[0];
data = str_parse(data);
data = data.split(/[\n]+/);
//// first line of the csv holds the colnames
var HEADER = data[0].split(",");
data.shift();
/// create { OBJECT } structure for each row
data = (function(){
var o=[];
data.forEach(function(E){
o.push( (function(){
var _o={};
for( var i=0, s=E.split(",");i<s.length;i++ )
_o[HEADER[i]]=s[i];
return _o;
}()) );
});
return o;
}());
/// THE FINAL OBJECT
console.log(data);
return data;
}
});
}
$('#a').click(function() {
get_url("http://ichart.finance.yahoo.com/table.csv?a=8&b=11&e=10&g=d&c=2005&d=2&f=2016&s=YHOO");
});
&#13;
所以每个矩阵都在完美地移动:) 但这是问题.. 我不能把它们都移动到一起......
感谢您的帮助!!
答案 0 :(得分:0)
问题是,浏览器一次只能处理1个按键。要绕过这一点,您需要遵循以下事项:
数组将保持当前按下的键。在keydown事件监听器中,您需要将与按下的键的id相同的索引处的元素设置为true,并且在keyup eventlistener中,您需要将同一元素设置为false。例如:
var keys = [];
document.addEventListener("keydown", function(e) {
keys[e.keyCode] = true;
});
document.addEventListener("keyup", function(e) {
keys[e.keyCode] = false;
});
这将确保在释放密钥之前元素保持为真。您可以通过检查具有相同索引的元素来检查当前是否按下了某个键:
if (keys[87]) {
// The "W" key is pressed
}
if (keys[83]) {
// The "S" key is pressed
}
/// ...
注意:检查按下的键时不应使用else-if
。