input事件
- <input>
- <select>
- <textarea>
- <input type=checkbox>
- <input type=radio>
- contenteditable
input事件的一个特点,就是会连续触发,比如用户每按下一次按键,就会触发一次input事件。
input事件与change事件很相似,不同在于:
input事件在元素的值发生变化后立即发生,而change在元素失去焦点时发生,而内容此时可能已经变化多次。也就是说,如果有连续变化,input事件会触发多次,而change事件只在失去焦点时触发一次。
select事件
select事件当在<input>、<textarea>里面选中文本时触发。
选中的文本可以通过event.target元素的selectionDirection、selectionEnd、selectionStart和value属性拿到。
change事件
change事件与input事件的最大不同,就是不会连续触发,只有当全部修改完成时才会触发,另一方面input事件必然伴随change事件。
- 激活单选框(radio)或复选框(checkbox)时触发。
- 用户提交时触发。比如,从列表(select)完成选择,在日期或文件输入框完成选择。
- 当文本框或<textarea>元素的值发生改变,并且丧失焦点时触发。
对于<select>元素来说,input和change事件基本是等价的。
reset 事件,submit 事件
这两个事件发生在表单对象<form>上,而不是发生在表单的成员上。
- reset事件当表单重置(所有表单成员变回默认值)时触发。
- submit事件当表单数据向服务器提交时触发。注意,submit事件的发生对象是<form>元素,而不是<button>元素,因为提交的是表单,而不是按钮。
invalid事件
用户提交表单时,如果表单元素的值不满足校验条件,就会触发invalid事件。
网友评论