2013-06-19 158 views
4

jQuery错误框不会当我第一次点击它。当我再次点击第二次进行时。jQuery错误框不会在第一次点击时出现。当我再次点击它第二次它要去

​​

当我点击errorbox第一次没有发生,但是当我再次点击第二次给予其警告点击该错误信息是怎么回事。

我试图不给冲突代码,但它不工作。

相同的代码正在其他页面中工作。

+0

你使用的是jQuery的哪个版本? –

+0

jQuery 1.7.1版本 –

+0

所以,请参阅凯文Bowersox答案和使用.on()代表,这是真的比活更好() –

回答

2

.on()适用于jQuery 1.7及更高版本。如果你有一个旧版本,使用这个:

$('.errorbox').live('click',function(){ 
     $(this).fadeOut('slow',function(){ 
       $(this).remove(); 
     });         
    }); 


    $('.errorbox').live('focus', function() 
    { 
     $(this).fadeOut('slow',function(){ 
     $(this).remove();   
     }); 
    }); 
+0

同样的结果...我运行这个和检查... –

+0

试试隐藏( )方法而不是fadeOut()... – Pank

+0

清除缓存并尝试.. !!检查萤火虫中的错误..! –

1

使用on而不是live并将代码包装在document.ready中。我怀疑当代码第一次尝试绑定事件处理程序时,dom元素未加载。 live方法已被弃用一段时间,并且首选on方法,它使用事件传播将事件处理程序分配给当前未在DOM上呈现的元素。

$(document).ready(function(){ 
    jQuery(document).on('click','.errorbox',function(){ 
     alert("click"); 
     $(this).fadeOut('slow',function(){ 
      $(this).remove(); 
     });         
    }); 
}); 
+0

同样的反应,当我第一次点击时什么都没有再次点击第二次,它会提醒并删除错误消息 –

+0

您是否在页面加载时添加'.errorbox'来执行一些脚本? –

+0

是的......我是用户点击按钮时加入.errorbox .. –

相关问题