2012-10-29 55 views
1

我试图添加一个虚拟键盘到我的代码使用jQuery,实际上我有几个文本字段,我添加到每个这个keybord。 我的问题是当我加载页面需要很多次(~10秒)才能显示。 有没有人有想法?虚拟键盘和缓慢加载jQuery

这是我的Demo

代码:

var table = document.getElementById("Table-1"); 
var rowCount = table.rows.length; 

for(var i=0;i<150;i++) { 
row = table.insertRow(rowCount); 
cell1 = row.insertCell(0); 
cell1.name = "animate"; 
cell1.id = i ; 
var values = document.createElement("input");     
values.type = "text" ; 
cell1.appendChild(values); 
rowCount++;    
} 

$('input[type=text]').keyboard({ 
    layout: "qwerty" 
}); 

谢谢。

+2

,因为它是150组的元素通过附加的循环。 – epascarello

+1

使用浏览器的分析器/开发工具为自己弄清为什么它很慢。 –

+1

重复使用一个键盘,不要创建其中的150个,这就是延迟的地方,而不是循环,这是微不足道的。 –

回答

1

我的问题的第一个解决方案;当我点击文本框时,我只打电话给键盘。

Demo

但它仍然是一个有点慢......

代码:

var table = document.getElementById("Table-1"); 
var rowCount = table.rows.length; 

for(var i=0;i<150;i++) { 
row = table.insertRow(rowCount); 
cell1 = row.insertCell(0); 
cell1.name = "animate"; 
cell1.id = i ; 
var values = document.createElement("input");     
values.type = "text" ; 
cell1.appendChild(values); 
rowCount++;  

$('#'+i).click(function() { 
     $('input[type=text]').keyboard({ 
     layout: "qwerty" 
    }); 
}); 

}