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()代表,這是真的比活更好() –