javascript-click在chrome中不起作用

问题描述

| 我已经尝试过了,(请注意,我正在使用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()的替代品     

解决方法

        听起来您正在碰壁,旨在仅允许用户触发文件上传框的安全墙。 您可以尝试将浏览器的
browse
按钮完全定位在链接上,然后将其
opacity
设置为
0
。     ,        我在这里是为了帮助其他人解决类似的问题。我尝试使用.trigger(\'click \')将click事件启动到FILE字段中,如果style = \'display:none \',并且发现与Mozila Firefox和IE不同的Chrome不允许使用这种风格。 解决方案是不要使用display:none,而不要使用style = \'width:0px; height:0px \'。结果是相同的,FILE字段被隐藏,即使这次在Chrome中,您也可以使用另一个按钮来启动其工作。 最好的问候。     ,        请勿将removeClass或addClass或width:1px用于实际文件输入。只需使用简单的CSS:
visiblity: hidden; position: absolute;
这样可以解决您的所有问题!     ,        你想达到什么目的? 也许这就是您想要的:
function HandleFileButtonClick()
{
    ...
}

$(\'#filesel\').click(HandleFileButtonClick);
注意:   如果您试图通过调用JQuery的click函数来触发鼠标单击事件,那么您将完全偏离轨道。这是无法实现的。     ,        我使用以下策略来代替使用CSS修复程序在不使用ѭ7的情况下将文件字段隐藏在屏幕外/视线之外的情况: 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\');
在我看来,这击败了使用不同浏览器样式的麻烦。为我工作!