由preventDefault禁用后启用操作

时间:2013-11-07 17:21:37

标签: javascript jquery

我遇到了preventDefault()的问题;我是新用的,在我的函数中,我在数组中保留验证表单的错误并将其显示在模态窗口中,如果错误存在我取消链接上的操作,但我不知道如何删除此preventDefault当我在'其他'时

Thx

if(array.length != 0){
    //for cancel action on the link
    $('body').on('click','div.linkGet a',function(e){
        e.preventDefault(); 
    });
    //tranform the array in html and put it in the html
    $.colorbox({
        href:"../../tpl/validation-form.twig",
        width:450,
        onComplete:function(){
            $(array).each(function(index, item) {
                $("#wrapperValidationForm ul").append($("<li>").html(item));
                $.colorbox.resize();
            });                                                     
        }
    });
}
else{
    return true;
}

1 个答案:

答案 0 :(得分:1)

使用.on函数时,将事件处理程序(函数)绑定到事件(单击“a”元素),因此一旦绑定,每次触发事件时都会执行处理函数(防止默认操作) )。我认为你需要的是解决事件中的处理程序:

$('body div.linkGet a').unbind('click');

请注意,这将删除click事件的每个处理程序。您可能还想让选择器更整洁,例如:

$('div.linkGet').click(function(ev) {
   // stuff here
});

$('div.linkGet a').unbind('click');

因为我假设div位于文档正文中。