我有从服务器端生成的html表:
DataTable dt2 = new Claims_Service().ASO_MOD_Get_Nulls();
myGridView.DataSource = dt2;
myGridView.DataBind();
该表有行,每行都有一个按钮。
在客户端我写道:
$(".myGridView").on('click', '.myButton', function ()
{
...
}
现在假设我需要在服务器端重新绑定。 (重新绑定===完整回发并重新生成页面)
在重新绑定之前,我应该使用jQuery remove
函数来释放事件并防止内存泄漏吗?
另外,如果我写的话,你的回答会有所不同吗?
$(".myGridView .myButton").on('click',function ()
答案 0 :(得分:1)
答案 1 :(得分:1)
如果这样写:
$(".myGridView").on('click', '.myButton', function () { /* your code */ });
内存泄漏不是问题,因为你在dom bubble上模式匹配到所有“.myButton”的出现。
而
$(".myGridView .myButton").on('click',function () { /* your code */ });
附加到所有个别的“.myButton”事件
答案 2 :(得分:0)
on
将回调应用于任何.myButton
元素no matter when it is added to the page(它与旧的live
方法完成相同的工作)。使用remove
不会清除客户端绑定。
您应该use off
或阻止原始绑定(如果使用页面回发重新绑定)。