Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为隐藏的输入和自定义标签提供相同的行为_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何为隐藏的输入和自定义标签提供相同的行为

Javascript 如何为隐藏的输入和自定义标签提供相同的行为,javascript,jquery,html,Javascript,Jquery,Html,如何将style=“display:none;”的文件类型输入按钮的相同行为赋予自定义标签?也就是说,标签和输入可以具有相同的操作,即使输入是隐藏的。 下面是我的html代码: <label for="model1" class="uploadFile">File...</label> <input id="model1" type="file" name="model1" class="model1" style="display:none;" required=

如何将style=“display:none;”的文件类型输入按钮的相同行为赋予自定义标签?也就是说,标签和输入可以具有相同的操作,即使输入是隐藏的。 下面是我的html代码:

<label for="model1" class="uploadFile">File...</label>
<input id="model1" type="file" name="model1" class="model1" style="display:none;" required="true"  />  
文件。。。

使用jQuery非常简单:

$('#modellabel')。在('click',function()上{
$('#model1')。triggerHandler('click');
//似乎无法在chrome上始终如一地工作(仅用于文件输入?)
//$('#model1')。触发器('click');
});

文件

单击“取消/打开”后,文件对话框会出现两次,即如果单击一次“取消”,它会再次出现,如果再次单击“取消”,它会消失。最好使用triggerHandler方法,因为triggerHandler()不会导致事件的默认行为发生$(“#model1”).triggerHandler('click');应该很好用。@SKSpall-thx,我会更新答案,它在firefox上运行得很好,但是像chrome这样的间谍软件可能会表现得很奇怪:DYeah,我用chrome测试过P除了Chrome之外,这在FF和IE中都很好用。triggerHandler在这三种情况下都很好用。