2011-03-30 64 views
0

我有一個模糊函數一個textarea:提交不應該使用jQuery模糊textarea?

$("#comment").blur(function() { 
     ...something 
    }); 

我不想這樣blur()當我點擊下面的提交按鈕的情況發生。我該如何解決這個問題?

+0

你有任何其他代碼(例如提交) – Neal 2011-03-30 20:42:07

+0

不是它是一個異常形式!提交時發生點擊'' – matt 2011-03-30 20:45:04

+0

lol所以一個正常的提交是一個** PAGE REFRESH **所以你的blur()代碼將被稱爲agian – Neal 2011-03-30 20:45:58

回答

0

正常提交是頁面刷新

所以說:當你的頁面加載一遍,blur()代碼將調用以及

0

在你提交傳遞一個變量回服務器的形式這表明它是一個表單提交(即有意義的標誌)。當你重新渲染頁面時,它會顯示標誌,說明它是一個表單提交,在JavaScript中。在模糊處理程序中查找該標誌,清除它並返回false。

0

像這樣的東西應該工作:

var _commentBlurTimer = 0; 
$("#comment").blur(function() { 
    _commentBlurTimer = window.setTimeout(function() { 
     //...something 
    }, 500); 
}); 

$("input[type=submit]").click(function() { 
    if (_commentBlurTimer) 
     window.clearTimeout(_commentBlurTimer); 
}); 

測試用例:http://jsfiddle.net/yahavbr/a9xZW/