Javascript 如何为隐藏的输入和自定义标签提供相同的行为
如何将style=“display:none;”的文件类型输入按钮的相同行为赋予自定义标签?也就是说,标签和输入可以具有相同的操作,即使输入是隐藏的。 下面是我的html代码: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=
<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在这三种情况下都很好用。