[英]onkeydown event on an ASPX page
我正在嘗試向.NET中的aspx頁面添加onKeyDown
事件。 由於我無權訪問body標簽,因此我嘗試執行以下操作:
if (window.addEventListener) {
window.addEventListener('onkeydown', checkEnter(event), false);
}
else {
window.attachEvent('onkeydown', checkEnter(), false);
}
function checkEnter(event) {
if (event.keyCode == 13) {
ShowList();
}
}
但是, event
這種方式變為未定義。 誰能幫我這個?
您可以使用jQuery輕松實現相同的結果。
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).keypress(function (e) {
if (e.which == 13) {
alert("Enter key is pressed.");
}
});
</script>
或用戶Panel控件的DefaultButton捕獲回車鍵,如果使用Button控件,則這是首選方法 。
<asp:Panel runat="server" ID="SearchPanel" DefaultButton="SearchButton">
<asp:Button runat="server" ID="SearchButton" Text="Search" />
</asp:Panel>
第一個錯誤是綁定事件的方式。
window.addEventListener('onkeydown', checkEnter(event), false);
您正在綁定該函數時執行該函數。 ------------------- ^
您只需要將功能分配給事件。
window.addEventListener('keydown', checkEnter, false);
此外,事件類型應為“ keydown”
您不必擔心將事件對象默認傳遞給函數。
您需要更改兩件事:
無需將“事件”傳遞給“ checkEnter”
if (window.addEventListener) { window.addEventListener('keydown', checkEnter, false); } else { window.attachEvent('keydown', checkEnter, false); } function checkEnter(event) { if (event.keyCode == 13) { ShowList(); } }
請參閱: https : //developer.mozilla.org/zh-CN/docs/Web/API/EventTarget.addEventListener
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.