jQuery错误框不会当我第一次点击它。当我再次点击第二次进行时。jQuery错误框不会在第一次点击时出现。当我再次点击它第二次它要去
当我点击errorbox第一次没有发生,但是当我再次点击第二次给予其警告点击该错误信息是怎么回事。
我试图不给冲突代码,但它不工作。
相同的代码正在其他页面中工作。
jQuery错误框不会当我第一次点击它。当我再次点击第二次进行时。jQuery错误框不会在第一次点击时出现。当我再次点击它第二次它要去
当我点击errorbox第一次没有发生,但是当我再次点击第二次给予其警告点击该错误信息是怎么回事。
我试图不给冲突代码,但它不工作。
相同的代码正在其他页面中工作。
.on()适用于jQuery 1.7及更高版本。如果你有一个旧版本,使用这个:
$('.errorbox').live('click',function(){
$(this).fadeOut('slow',function(){
$(this).remove();
});
});
$('.errorbox').live('focus', function()
{
$(this).fadeOut('slow',function(){
$(this).remove();
});
});
使用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();
});
});
});
同样的反应,当我第一次点击时什么都没有再次点击第二次,它会提醒并删除错误消息 –
您是否在页面加载时添加'.errorbox'来执行一些脚本? –
是的......我是用户点击按钮时加入.errorbox .. –
你使用的是jQuery的哪个版本? –
jQuery 1.7.1版本 –
所以,请参阅凯文Bowersox答案和使用.on()代表,这是真的比活更好() –