2015-02-23 74 views
0

我生成一个包含100个文本框的页面时,每个有它注册了相同的动作,但用不同的ID和值:jQuery的性能问题,动作注册

<input type="textfield" id="tf1" value="tf1" onClick="textfieldclicked(this);" onChange="textfieldchanged(this);" onBlur="textfieldblur(this);" onFocus="textfieldfocus(this)" 


<input type="textfield" id="tf2" value="tf2" onClick="textfieldclicked(this);" onChange="textfieldchanged(this);" onBlur="textfieldblur(this);" onFocus="textfieldfocus(this)" 

.. 

<input type="textfield" id="tf00" value="tf100" onClick="textfieldclicked(this);" onChange="textfieldchanged(this);" onBlur="textfieldblur(this);" onFocus="textfieldfocus(this)" 

我生成使用servlet的HTML内容,发送到浏览器使用ajax将它们设置为使用jquery的页面。我有网络性能问题,所以必须尽量减少从servlet发送的内容。将内容最小化的最佳解决方案是什么?

因为我们有很多通用的模板,所以压缩可以提供高达90%的压缩率,在servlet端使用strig压缩(java)和在clientjavascript上使用字符串解压缩)。

2- assinging一类到每个文本框,然后使用jquery

$('.textfieldclass').onBlur(..) 

回答

1

给所有输入的共同类和寄存器jQuery的事件如图注册到它们: -

$('.someclass').on('click change blur focus',function(){ 
    // .... 
}); 
+0

感谢,我学到了一些新东西。您可以定义多个事件 – 2015-02-23 09:31:28