propertychange input change
IE678 支持propertychange事件,可以監聽所有屬性(包括自定義屬性)的改變事件,包括手動修改輸入框文本以及js修改輸入框文本。
propertychange事件有個特點就是不支持冒泡,這樣就不能實現事件的委托,而且jquery也沒有解決這個BUG,所以下面的代碼是有問題的:
因為IE9開始支持addEventListener,而且還兼容attachEvent,所以其實IE9也是支持propertychange事件的,只不過只能使用attachEvent來注冊事件。
而jquery內部應該是使用addEventListener注冊事件的,導致jquery的on()方法在IE9下面注冊propertychange事件無效。
IE9+,其他現代瀏覽器支持input事件,用來監聽輸入框文本內容的改變,且不需要失去焦點就可以觸發。
change事件則是需要失去焦點才會觸發,所有瀏覽器都支持該事件。
其中input事件和change事件都不能監聽js操作的修改。
對于IE9+和firefox以及Opera瀏覽器,支持DOMAttrModified事件,和propertychange事件很相似,監聽屬性的變化,但是不監聽用戶操作的修改。
參考:
propertychange event
IE9的一個BUG:propertychange和input事件在拖拽 / 剪切 / 刪除時無法觸發
IE神奇小bug一則
轉載于:https://www.cnblogs.com/3tree/p/4597295.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的propertychange input change的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL数据库服务器逐渐变慢 该如何分
- 下一篇: 谈谈你期望的大学暑期实践或你亲身体验的