我遇到了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;
}
答案 0 :(得分:1)
使用.on函数时,将事件处理程序(函数)绑定到事件(单击“a”元素),因此一旦绑定,每次触发事件时都会执行处理函数(防止默认操作) )。我认为你需要的是解决事件中的处理程序:
$('body div.linkGet a').unbind('click');
请注意,这将删除click事件的每个处理程序。您可能还想让选择器更整洁,例如:
$('div.linkGet').click(function(ev) {
// stuff here
});
和
$('div.linkGet a').unbind('click');
因为我假设div位于文档正文中。