当前位置: 首页 > 面试题库 >

jQuery:模拟点击 在Firefox中无法使用?

韦宣
2023-03-14
问题内容

我有一个看起来像这样的网页

<html>
    <head>
        <title>File Upload Click Test</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    </head>
    <body>
        <div onclick="$('input[type=file]').click()" >CLICK SIMULATOR</div>
        <input type="file"></input>
    </body>
</html>

我的目标是让 div文件输入_上引发click事件,这似乎完全符合我在IE和Chrome中的预期,但在Firefox中不起作用(当您单击Firefox时未打开文件浏览器) _div)。

有没有办法让它在FF中工作?


问题答案:

有没有办法让它在FF中工作?

不,它在大多数常见版本的IE中也不起作用。IE将打开该对话框,但是一旦选择了该文件,该窗体将不会实际提交。

放弃希望。伪造文件上传框的唯一方法是使用透明技术,实际上根本不建议这样做,因为浏览器可能会在内部对文件上传框进行不同的布局(甚至提供不包含“浏览”对话框的文件上传控件),很有可能导致您无法使用表格。

了解喜欢灰色文件上传字段,或使用渐进增强功能将其替换为Flash(如果可用)。



 类似资料:
  • 问题内容: 我只是想知道如何使用JavaScript模拟元素的点击。 目前我有: 但这不起作用:( 有任何想法吗? 问题答案: 这是我煮的 这很简单,但是有效: 用法:

  • 问题内容: 我在通过jQuery伪造锚点单击时遇到问题:为什么我的thickbox第一次单击输入按钮时出现,但第二次或第三次却没有出现? 这是我的代码: 当我直接单击链接时,它总是起作用,但是如果我尝试通过输入按钮激活thickbox,则它不会起作用。这是在FF。对于Chrome,它似乎每次都能正常工作。有什么提示吗? 尽量避免内联这样的jQuery调用。将脚本标签放在页面顶部以绑定到事件: 编辑

  • 问题内容: 假设我有一个要模拟特定x,y坐标处的鼠标单击的窗口。我已经有了hwnd,但不确定如何构造lParam。我过去曾使用过SendMessage来单击按钮等,但是我知道他们的名字。任何帮助将不胜感激。我也忍不住想知道我是否正在以正确的方式进行操作。我的最终目标是在Skype主窗口上单击某个用户(例如)。我使用EnumChildWindows查找主窗口的所有子级,但找不到正确的子级。所以想通了

  • 问题内容: 我正在尝试使用一行jQuery代码制作一个Chrome扩展程序,但是它不起作用。我正在尝试触发元素上的点击。 chrome控制台根本不显示任何错误,并且当我仅将jQuery代码放在控制台中时,它可以正常工作。 我的代码: content.js background.js manifest.json 我还下载了文件,并将其放在扩展文件夹中。 谁能解释为什么它不起作用??? 问题答案: 问

  • 问题内容: 今天,我正在尝试测试一个可在Google主页(www.google.co.in)上使用的gmail链接。我能够启动fierfox窗口,并且能够执行将我带到Google主页的第一步,但是在此之后什么都没有发生,我也没有遇到任何运行时错误或日食异常。不知道webdriver发生了什么。我遇到了我已经在stakwave上发布的另一个程序的问题,因此,如果可以,请查看此链接- 为什么我的测试抛

  • 我试图模拟一个外部模块(jwt_decode),对于感兴趣的人来说,我已经看到了许多如何使用Jest模拟外部节点模块的示例,无论是在测试套件中的所有测试,还是在每个测试的基础上。 我已经能够模拟依赖项,以便它模拟套件中所有测试的返回值,尽管缺省函数是我真正关心的全部。 这工作得很好,只是我想测试一个返回的令牌已经过期的场景,这样我就可以验证在出现这种情况时是否调度了某些Redux操作。 我想修改单