将键盘输入保存到变量中
Saving keyboard input into a variable
我写了一个 Firefox 扩展,它从条形码标签扫描仪获取输入,调用页面并将其写入字段。扫描仪被编程为在读取标签后发送击键。我在侦听 CTRLK 的窗口对象上添加了一个事件。我的问题是专注于文本框,当它丢失时它不起作用。我的问题是:是否可以在不使用文本框元素的情况下获取扫描标签的值?扫描仪输入通过键盘界面输入。
BrowserOverlay.xul
:
<window id="main-window">
<script type="application/x-javascript">
window.addEventListener("keydown", barcodeInit, false);
function sel(){
var textbox = document.getElementById("editIndex");
textbox.focus();
}
</script>
<hbox>
<spacer flex="1"/>
<textbox id="editIndex" value="" size="1" maxlength="25" oncommand="sel()" />
<statusbar id="status-bar" class="chromeclass-status">
<statusbarpanel label="Barcode AddOn" class="statusbarpanel-iconic"
onclick="openPreferences('barcodePane');" align="left"
src="chrome://topas/content/images/icon18.png" />
</statusbar>
</hbox>
当我获取文本框内容时,我调用 openURI
方法在实际窗口中打开页面并将数据发布到其中。
BrowserOverlay.js
:
if (event.ctrlKey && pressedKey == prefKey ){
if(typeof editIndex != "undefined"){
var dataString = "barcodeValue=" + editIndex;
immidiate = true;
document.getElementById("editIndex").value = "";
window.loadURI(stringURL, null, dataString, false);
}
您可以通过
侦听window
对象上的keypress
事件来接收按下的键 - 只要浏览器窗口聚焦,无论窗口的哪个元素处于活动状态,您都会获得它们。沿着这些思路:
var data = "";
window.addEventListener("keypress", processKeyPress, false);
window.addEventListener("keydown", processKeyDown, false);
function processKeyPress(event)
{
data += String.fromCharCode(event.charCode);
}
function processKeyDown(event)
{
if (event.ctrlKey && event.keyCode == prefKey)
{
var dataString = "barcodeValue=" + data;
data = "";
...
}
}
文档:事件.charCode
相关文章:
- 将JavaScript变量保存到Rails模型
- 将javascript变量保存到数据库中
- 将Javascript从PHP变量保存到文件
- 跨站点脚本过滤器阻止了我使用python-cgi脚本将javascript变量保存到mysqldb的尝试
- 需要将一个值从javascript变量保存到php会话
- Angular ui路由器,通过url/url变量保存状态
- 是否将Javascript变量保存为PHP变量?获取、发布、COOKIE
- 尝试将 PHP $_POST 变量保存到 javascript 中,但它不起作用
- 将 PHP 变量保存到函数中的脚本变量
- 如何让变量保存 mongodb 数据库
- 角度将变量保存到带有 ajax 调用的 laravel 会话不起作用
- 无法将变量保存到本地存储中
- 将 javascript 变量保存到 Ruby 中
- 如何在Symfony中将javascript变量保存到我的表单类型中
- 从javascript变量保存图像
- Backbone.js没有't将变量保存在集合中
- 将js函数中的一个变量保存到代码后面的server/#C中
- AngularJS是否将变量保存到文件中
- SAPUI5 jQuery.sap.storage变量保存
- 如何将Jmeter变量保存到csv文件