javascript-click()在chrome中不起作用

javascript-click()在chrome中不起作用,javascript,jquery,html,click,Javascript,Jquery,Html,Click,我已经尝试过这一点(注意,我使用的是jQuery): HTML: 他们都不在谷歌浏览器中工作。。。有什么想法,或者jQuery click()的替代品吗?您想实现什么 也许这就是你想要的: function HandleFileButtonClick() { ... } $('#filesel').click(HandleFileButtonClick); 注意: 若您试图通过调用JQuery的click函数来触发鼠标单击事件,那个么您完全偏离了轨道。这是不可能实现的 听起来你正

我已经尝试过这一点(注意,我使用的是jQuery):

HTML:



他们都不在谷歌浏览器中工作。。。有什么想法,或者jQuery click()的替代品吗?

您想实现什么

也许这就是你想要的:

function HandleFileButtonClick()
{
    ...
}

$('#filesel').click(HandleFileButtonClick);
注意:

若您试图通过调用JQuery的click函数来触发鼠标单击事件,那个么您完全偏离了轨道。这是不可能实现的


听起来你正在撞上一堵安全墙,它只允许用户触发文件上传框


您可以尝试将浏览器的
浏览
按钮绝对定位在链接上,然后将其
不透明度
设置为
0

我在这里帮助其他人解决类似问题。我尝试使用.trigger('click')在一个文件字段中启动一个click事件,该文件字段为if style='display:none',并发现Chrome与Mozila Firefox和IE不同,不允许它使用这种样式。 解决方案是不使用display:none,而是使用style='width:0px;高度:0px'。结果是一样的,文件字段被隐藏,你可以使用另一个按钮来开始它的工作,即使是在Chrome上


向peeps致意。

我使用以下策略,而不是使用CSS修复程序将文件字段隐藏在屏幕外/看不见的地方,而不使用
显示:无:

CSS:

.hidden {display:none}
HTML

<input type="file" name="file-upload" id="file-upload" class="hidden" /><button>Upload</button>
在jQuery中:

$('#file-upload').removeClass('hidden').click().addClass('hidden');

在我看来,这胜过了与不同浏览器风格的较量。为我工作

不要使用removeClass或addClass,或width:1px作为实际文件输入。只需使用简单的CSS:
visibly:hidden;位置:绝对位置


这将解决您在这种情况下的所有问题

另请参见。那么,为什么它可以在除chrome之外的任何其他浏览器中工作呢?。。我不是javascript/jquery方面的专家,但我认为你已经偏离了正轨。。。顺便说一句,调用函数时使用onclick=“”不需要$(“#filesel”)。单击(HandleFileButtonClick)@安德烈,真的,它真的触发了点击事件吗?如果是的话,我想学习一下。你能给我指一些我可以了解它的链接/文档吗?你可以在这里看到:描述:将事件处理程序绑定到“click”JavaScript事件,或者在元素上触发该事件。很好的解决方案,应该会引起更多的注意!另外,我刚刚发现通过使用可见性:隐藏;Chrome确实让它工作了(还有Firefox、Opera和Safari,但没有尝试使用Explorer)。不是安全墙,单击事件在不隐藏时起作用。这(我相信)是一个优化特性,即删除显示的所有侦听器:无事件,因为不应该从那里单击它们。
<input type="file" name="file-upload" id="file-upload" class="hidden" /><button>Upload</button>
$('file-upload').removeClassName('hidden').click();$('file-upload').addClassName('hidden');
$('#file-upload').removeClass('hidden').click().addClass('hidden');