2013-12-12 159 views
1

我有一個文本區域和一個按鈕。我有代碼將焦點上的文本區域擴展並縮小模糊事件。當用戶按下按鈕時,它將內容提交給服務器。問題在於,當用戶輸入文本然後單擊該按鈕時,它會在文本區域發生模糊事件,然後再點擊按鈕。該框縮小,但按鈕點擊動作被掩蓋。我已經經歷了類似的主題不同的線程過去了,已經嘗試了各種選項,但既不工作...模糊textarea和提交輸入按鈕

  1. 試圖在模糊處理程序中添加此......但沒有幫助...

    if ($(':focus').is('#submitbtn')) { return false; } 
    
  2. 嘗試添加該模糊處理......但即使它在Chrome中工作也沒有在IE瀏覽器...

    if (event.relatedTarget != null && event.relatedTarget.nodeName == "INPUT") { 
    
        // Now call click on the related Target which was the submit button 
    
        event.relatedTarget.click(); 
    
    } 
    
  3. 嘗試以下方法,但沒有幫助...

    $("#myTextArea").blur(function(evt) { 
    
        if (evt.target is not the button){ //pseudo code 
    
         //do something 
    
         return true; // I handled it 
    
        } 
    
        return false; // I didn't handle it 
    
    }) 
    

任何其他解決辦法?

+1

ü可以使小提琴,所以我們有更好的想法..! – Neha

+0

這裏你去... http://jsfiddle.net/mi10/csYkk/5/ 請注意,我發現2 hack並將它們添加到代碼。一個適用於IE瀏覽器,另一個適用於Chrome和Firefox ...我相信雖然有更好的解決方案.... 請注意,在此演示中,由於黑客問題,此問題並未顯示。如果你刪除這些黑客,你會問題... – mi10

回答

1

好吧它的棘手..我不知道爲什麼,但它捕獲按鈕的重點,但不是點擊..這裏是代碼,如果提交按鈕有焦點提交形式..(希望它的幫助..因爲我知道它不完整修復)

$("#btn_0").focus(function() { 
/*its capture the focus but not the click*/ 
    $("#f1").submit(); 
}); 

Working dmeo

+0

這確實有助於就像我做的其他2黑客。非常感謝您在這裏的幫助。但與其他任何黑客一樣,這個問題很少。例如很多時候,提交後沒有清除文本區域。此外,如果我只是通過我的控件進行切換,它會在按鈕獲得焦點後立即提交。 :-(是的,這當然是非常棘手的...我的2黑客也有通過按鈕標籤的問題,提交評論...任何其他想法?其他人? – mi10

+0

我認爲清理數據等你必須照顧它不正常從js提交它的種類,所以你必須在btn.focus - $(「#t0」)。html(「」)中做這樣的事情;問題是我們不知道btn焦點來自點擊或正常焦點。 。!!! – Neha