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