>>>>Off
jQuery
1 | $(el).off(eventName, eventHandler); |
谷歌浏览器,火狐浏览器,IE8+
1 | function removeEventListener(el, eventName, handler) { |
2 | if (el.removeEventListener) |
3 | el.removeEventListener(eventName, handler); |
4 | else |
5 | el.detachEvent( 'on' + eventName, handler); |
6 | } |
7 |
8 | removeEventListener(el, eventName, handler); |
谷歌浏览器,火狐浏览器,IE9+
1 | el.removeEventListener(eventName, eventHandler); |
>>>>On
jQuery
1 | $(el).on(eventName, eventHandler); |
谷歌浏览器,火狐浏览器,IE8+
01 | function addEventListener(el, eventName, handler) { |
02 | if (el.addEventListener) { |
03 | el.addEventListener(eventName, handler); |
04 | } else { |
05 | el.attachEvent( 'on' + eventName, function (){ |
06 | handler.call(el); |
07 | }); |
08 | } |
09 | } |
10 |
11 | addEventListener(el, eventName, handler); |
谷歌浏览器,火狐浏览器,IE9+
1 | el.addEventListener(eventName, eventHandler); |
>>>>Ready
jQuery
1 | $(document).ready(function(){ |
2 | }); |
谷歌浏览器,火狐浏览器,IE8+
01 | function ready(fn) { |
02 | if (document.readyState != 'loading'){ |
03 | fn(); |
04 | } else if (document.addEventListener) { |
05 | document.addEventListener('DOMContentLoaded', fn); |
06 | } else { |
07 | document.attachEvent('onreadystatechange', function() { |
08 | if (document.readyState != 'loading') |
09 | fn(); |
10 | }); |
11 | } |
12 | } |
谷歌浏览器,火狐浏览器,IE9+
1 | function ready(fn) { |
2 | if (document.readyState != 'loading'){ |
3 | fn(); |
4 | } else { |
5 | document.addEventListener('DOMContentLoaded', fn); |
6 | } |
7 | } |
>>>>指定事件触发
jQuery
1 | $(el).trigger('my-event', {some: 'data'}); |
谷歌浏览器,火狐浏览器,IE8+
1 | // 自定义事件本身不支持,所以你要定义一个随机事件。只能用 jQuery 了╮(╯﹏╰)╭ |
谷歌浏览器,火狐浏览器,IE9+
1 | if (window.CustomEvent) { |
2 | var event = new CustomEvent( 'my-event' , {detail: {some: 'data' }}); |
3 | } else { |
4 | var event = document.createEvent( 'CustomEvent' ); |
5 | event.initCustomEvent( 'my-event' , true , true , {some: 'data' }); |
6 | } |
7 |
8 | el.dispatchEvent(event); |
>>>>Trigger Native
jQuery
1 | $(el).trigger('change'); |
谷歌浏览器,火狐浏览器,IE8+
1 | if (document.createEvent) { |
2 | var event = document.createEvent( 'HTMLEvents' ); |
3 | event.initEvent( 'change' , true , false ); |
4 | el.dispatchEvent(event); |
5 | } else { |
6 | el.fireEvent( 'onchange' ); |
7 | } |
谷歌浏览器,火狐浏览器,IE9+
1 | //对于一个事件类型的完整列表可以参见: https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent |
2 | var event = document.createEvent( 'HTMLEvents' ); |
3 | event.initEvent( 'change' , true , false ); |
4 | el.dispatchEvent(event); |