天天看點

jquery擷取擷取this出錯、與鍵盤事件結合使用出現問題

 之前在做項目時,寫了一個監聽使用者鍵盤按下 回車【Enter】按鍵時觸發的事件,代碼如下:

 $(function() {

        $('input:text:first').focus();

        var $inp = $('input');

        $inp.keypress(function(e) {

            var key = e.which;

            if (key == 13) {

                $("#btnSend").click();

            }

        });

        $("#btnSend").click(function() {

            var pwd =$(this).value;//  ①

    }); 

問題在①這一行時出現bug,因為當使用者按下回車時【Enter】,jquery選擇器找不到this關鍵對象,尤其在ie6下,①之後的代碼就不能運作了,其他2個核心的浏覽器還勉強能繼續運作①下面的代碼,但是,解決辦法有:

1):不适用this關鍵字,以id選擇器,或樣式選擇器來代替$(this);

2):在①之前對this進行一個判斷,如:if($(this)==null){ $(this)=....;},來避免錯誤發生

本文轉自 tongling_zzu 51CTO部落格,原文連結:http://blog.51cto.com/tongling/1143885

繼續閱讀