input标签中 onclick 中为什么可以直接使用 html 元素中的 id.click()?

onclick 中为什么可以直接使用 html 元素中的 id.click()?

<input type="file" id="aaa">
<input type="button" value="button" onclick="aaa.click()">

点击第二个 input 为什么使用 aaa.click 可以触发第一个 input 的对话框?
是什么特殊的语法?

答:
如果一个元素拥有ID属性,那么ID属性的属性值就会成为window对象的属性名.
如果一个元素拥有name属性,那么name属性的属性值就会成为window对象的属性名.但这个元素的标签名必须是: a, applet, area, embed, form, frame, frameset, iframe, img, object,其中的一个.

意思也就是

window.test就能取到它
然后可能各个浏览器有差异 没测试。

为input绑定js事件的用法:

<input type="button" value="button" onclick="fun()">
<script>
	function fun(){
        console.log('...')
    }
</script>
<input type="text" oninput="myFunction()">
定义和用法
oninput 事件在用户输入时触发。

该事件在 <input> 或 <textarea> 元素的值发生改变时触发。

提示: 该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。
<script>
	function myFunction(){
        console.log('正在输入...')
    }
</script>
posted @ 2020-03-26 17:57  hanfe1  阅读(530)  评论(0编辑  收藏  举报