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

时间:2011-05-29 11:33:27

标签: javascript jquery html click

我试过这个,(请注意我使用的是jQuery):

function HandleFileButtonClick()
{
    1. //$('#filesel').click();
    2. //document.replyform.image.click();
}

HTML:

<input type="file" id="filesel" name="image" style="display: none;"  /> 
<a href="#"><img src="<?=TF?>/img/att.png" style="height:20px;" onclick="HandleFileButtonClick();" /></a>

既没有在Google Chrome浏览器中工作......任何想法,或者jQuery click()

的替代品

5 个答案:

答案 0 :(得分:4)

听起来您正在使用旨在仅允许用户触发文件上传框的安全墙。

您可以尝试将浏览器的browse按钮完全放在链接上,然后将opacity设置为0

答案 1 :(得分:4)

我来这里帮助其他类似的问题。我尝试使用.trigger('click')将点击事件发送到如果style ='display:none'的FILE字段中,并发现Chrome与Mozila Firefox和IE不同,不要让它适用于这种风格。 解决方案是不使用display:none并使用而不是style ='width:0px; height:0px'。结果是相同的,隐藏了FILE字段,这次即使在Chrome中也可以使用另一个按钮来启动它的工作。

最诚挚的问候。

答案 2 :(得分:2)

不要使用removeClass或addClass,或宽度:1px用于实际文件输入。只需使用简单的CSS:visiblity: hidden; position: absolute;

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

答案 3 :(得分:1)

你想要完成什么?

也许这就是你想要的:

function HandleFileButtonClick()
{
    ...
}

$('#filesel').click(HandleFileButtonClick);

<击> 注意:

  

如果你试图通过调用JQuery的click函数来触发鼠标点击事件,那么你就完全没有了。这是无法实现的。

答案 4 :(得分:1)

而不是使用CSS修复程序在不使用display:none的情况下将文件字段隐藏在屏幕外/视线之外,我使用以下策略:

CSS:

.hidden {display:none}

HTML

<input type="file" name="file-upload" id="file-upload" class="hidden" /><button>Upload</button>
原型中的

$('file-upload').removeClassName('hidden').click();$('file-upload').addClassName('hidden');

在jQuery中:

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

在我看来,这与不同的浏览器风格搏斗。适合我!