2013-06-19 149 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 .. –

相關問題