文章出處

<input type="text" onblur="function1" />
<input type="button" onclick="function2" value="保存" />

上面的代碼會出現一種問題:當點擊按鈕的時候,onblur 會執行,onblur 一般是用來檢查文本框的內容,我們并不希望在點擊按鈕的時候執行,并且 onblur 會執行在 onclick 之前。

解決方式:

var tid;
onblur = function(){
    tid = setTimeout(function(){
        //do blur save
    }, 25);
};

onclick = function(){
    clearTimeout(tid);
    //do click save
}

主要作用是延遲 onblur 的執行,在 onclick 執行的時候,取消 onblur 的執行(注意,點擊按鈕的時候,onblur 才會被觸發,所以延遲 25 ms是沒問題的)。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()