当使用蓝牙键盘时,我找不到在iPad和Chrome上的文本字段中检测箭头键的方法.
使用此测试HTML和JavaScript,触摸输入字段以使其获得焦点.
使用箭头键没有任何反应,但输入字母和数字以及keydown事件.
<!DOCTYPE html>
<html>
<head>
<title>Test page.</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<form>
<input id="input" style="width: 600px;" type="textarea" />
</form>
<div id="keydisp" style="width 600px; height: 50px"></div>
<script type="text/javascript">
$(document).keydown(function(event) {
var keyCode = event.which;
document.getElementById("keydisp").innerHTML = "key pressed: " + keyCode;
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有可能检测到箭头吗?
我已经能够编写JavaScript以使浏览器使用以下代码从远程服务器下载文件:
var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = "filename.zip"
document.body.appendChild(iframe);
Run Code Online (Sandbox Code Playgroud)
哪个效果很好.但是,现在我有一个不同的情况,文件的内容存储在浏览器端的JavaScript中的字符串中,我需要触发该文件的下载.我试过用这个替换上面的第三行,其中'myFileContents'是包含文件实际字节的字符串:
iframe.src = "data:application/octet-stream;base64," + Base64.encode(myFileContents);
Run Code Online (Sandbox Code Playgroud)
这会导致文件下载,但文件名丢失.在Chrome中,文件名只是"下载".另外我读过一些浏览器版本允许的文件大小有限制.
有没有办法实现这个目标?使用JQuery就行了.该解决方案需要支持任何文件类型 - zip,pdf,csv,png,jpg,xls等...
我遇到麻烦keyup(),keydown()而keypress()事件在iPad上运行.当我连接无线蓝牙键盘并尝试使用键盘输入时会出现问题 - 事件不会触发.我尝试在iPad上使用Safari和Chrome(iOS 6.1).这个相同的HTML在桌面上的Firefox,Safari,Chrome等中运行良好.有没有办法更改此代码,使其在平板电脑上工作?我检查了document.activeElement,它似乎是文件正文,这是正确的.
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(document).keyup(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keyup " + event.which) + "<br>";
});
$(document).keydown(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keydown " + event.which) + "<br>";
});
$(document).keypress(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keypress " + event.which) + "<br>";
});
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在使用带有OPENFILENAME结构的GetOpenFileName,该结构使用lpstrFilter将文件过滤到*.JPG.但是,在文件打开对话框中,对于文件名,用户可以键入*.XLS并查看同一文件夹中的每个Excel文件,然后选择打开XLS文件.我想阻止用户这样做.我想真正限制他们只能选择JPG文件.有没有办法做到这一点?