小编Sea*_* N.的帖子

如何使用带有蓝牙键盘的iPad在JavaScript上检测箭头键

当使用蓝牙键盘时,我找不到在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 jquery keyboard-events ipad ios

15
推荐指数
1
解决办法
3993
查看次数

如何让Web浏览器下载存储在JavaScript String中的文件?

我已经能够编写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等...

javascript iframe local download

8
推荐指数
1
解决办法
1万
查看次数

JQuery keyup()keydown()和keypress()不支持iPad和蓝牙键盘

我遇到麻烦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)

javascript jquery bluetooth ipad ios

2
推荐指数
1
解决办法
1万
查看次数

GetOpenFileName可以将文件选择限制为与过滤器匹配的文件吗?

我正在使用带有OPENFILENAME结构的GetOpenFileName,该结构使用lpstrFilter将文件过滤到*.JPG.但是,在文件打开对话框中,对于文件名,用户可以键入*.XLS并查看同一文件夹中的每个Excel文件,然后选择打开XLS文件.我想阻止用户这样做.我想真正限制他们只能选择JPG文件.有没有办法做到这一点?

c winapi getopenfilename

2
推荐指数
1
解决办法
333
查看次数