我有一个ajax动作链接,它将一个部分附加到div。
$('#hypNewCriteria').click(newClick);
...
var newClick = (function ()
{
console.log('newClick');
$.ajax(this.href, {
success: function (result)
{
...
}
}
在第一页加载和返回的每个部分上我(可能是不必要的),通过document.ready
执行$('#hypNewCriteria').click(newClick);
...后续点击actionlink;返回的部分视图数量每次增加1。点击7次后,返回8个部分。我希望只有1个人可以追加。
我怀疑.click(newClick)事件正在追加。有没有办法在我设置另一个之前设置一个单击事件或清除事件?
答案 0 :(得分:2)
您可以使用jQuery的unbind()方法取消绑定事件。
我还会研究live()jQuery方法。这会将事件绑定到添加到页面的所有当前和未来元素,对于加载部分的页面或添加需要始终添加事件的项目非常有用。
答案 1 :(得分:1)
尝试.one()
:
$('#hypNewCriteria').one('click', newClick);