应用场景:模拟input[type="file"]点击事件
说明:我们在做一个图片上传时,如果直接使用<input type="file">显示在页面上,UI样式比较难控制,所有这里我们就自定义一个按钮,当点击按钮button时,触发<input type="file">点击事件。
html代码:
<button id="buttonName" type="button">选择图片</button>
<input type="file" style="display: none">
javascript代码:
var btnNode = document.getElementById('buttonName');
btnNode.addEventListener('click', function (e) {
// 模拟input点击事件
var evt = new MouseEvent("click", {
bubbles: false,
cancelable: true,
view: window
});
inputNode.dispatchEvent(evt);
}, false);
MouseEvent:
https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent
热门评论
真麻烦,一个<label for=""></label>就搞定了!