2011-02-03 22 views
0

我粘貼我的示例代碼在這裏我試圖檢測按鍵上的輸入鍵,但它不斷給FF中的錯誤,e是未定義的。按鍵事件不工作在Firefox中的文本框中的火狐

$(document).ready(function() { 
     $('#txtDescript').keypress(function(e) { 
     clearDescription(e) 
    }); 
    }); 

我的標記

<input type="text" style="width: 350px; height: 50px;" id="txtDescript" value="Enter Description"class="TextBox" onclick="clearDescription();" 
          onblur="blurDescription();" /> 

這是功能

function clearDescription(e) { 
    debugger 
    var KeyID = (window.event) ? event.keyCode : e.keyCode; 

    var keyPress = checkBrowser(e); 
    if (keyPress == 13) { 
     setDescription(); 
    } 
} 

它的任何解決方案

回答

2

這裏:

onclick="clearDescription();" 

您沒有將clearDescription函數的任何參數傳遞給期望e參數的函數。另外,因爲你使用的是jQuery,我不太明白你爲什麼要混合標記和JavaScript。那豈不是這樣更好:

<input type="text" style="width: 350px; height: 50px;" id="txtDescript" value="Enter Description" class="TextBox" /> 

然後:

$(function() { 
    $('#txtDescript').keypress(function(e) { 
     clearDescription(e); 
    }).click(function(e) { 
     clearDescription(e); 
    }).blur(function(e) { 
     // As you haven't shown how the blurDescription 
     // function look like you might want to check the arguments 
     blurDescription(e); 
    }); 
}); 

這也可以寫成這樣:

$(function() { 
    $('#txtDescript') 
     .keypress(clearDescription) 
     .click(clearDescription) 
     .blur(blurDescription); 
}); 

這一切都這樣說,你也可以採取看看jquery watermark plugin,它提供了類似的功能,我懷疑你試圖實現。

+0

@Darinn謝謝你爲我工作。 – ankur 2011-02-03 09:11:20