我能够成功检测到EnterInternet Explorer 10、Chromium 和 Opera 中的密钥,但不能在 Firefox 中检测到。
我在这里找到了一些页面,尽管它们在 Firefox 中也不起作用。我在这里做错了吗?
打字稿:
function HandleKeyPress(e) {
var key = e.keyCode || e.which;
if (key == 13) {
// We got this.
var textbox = <HTMLInputElement>document.getElementById("tbox");
sayHello(textbox.value);
}
}
生成的 JavaScript(相同):
function HandleKeyPress(e) {
var key = e.keyCode || e.which;
if(key == 13) {
var textbox = document.getElementById("tbox");
sayHello(textbox.value);
}
}
HTML:
<input type="text" value="dfgdfgdfg" id="tbox" onkeypress="HandleKeyPress(event)" />
我不能使用任何外部库,我必须在纯 JavaScript(或编译为纯 JS 的语言)中执行此操作。
更新:
我刚刚安装了 Firebug,并在我注意到的 Consolw 窗格中(在按下Enter文本字段上的 jey 之后:
http://localhost:1058/Default.cshtml?someValue=dfgdfgdfgkjkhj
<p>You said: dfgdfgdfgkjkhj</p>
见下图:
请注意,页面本身并没有将response
段落的值更新为在文本框中输入的值,但是,Firebug 确实说它已成功发布。
现在,由于此代码适用于所有其他浏览器(IE、Chrome/Canary 和 <、Opera、Safari),我的问题是,也许 Firefox正在检测关键事件,但在那之后不起作用的部分是?