# hashchange **Repository Path**: kyrintech/hashchange ## Basic Information - **Project Name**: hashchange - **Description**: 浏览器的hashchange事件,暂时不支持低版本IE。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-11-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hashchange 浏览器的hashchange的事件封装。 主要使用window的 `hashchange` 事件。不需要其他依赖包,可直接将 `dist/hashchange.js` 进行打包。如果在webpack环境可以直接使用 `require('hashchange')` 即可。 理论上支持浏览器(实际上就是hashchange支持的范围): * Internet Explorer 8+ * Firefox 3.6+ * Chrome 5+ * Safari 5+ * Opera 10.6+ 用法也很简单: webpack环境下: ```javascript const hashchange = require('hashchange'); hashchange().change((event) => { console.log(event.url); }); ``` 浏览器环境下: ```javascript hashchange().change((event) => { console.log(event.url); }); ``` ## 附加的两个方法 `isValidEl` : 检查传入的变量是否一个有效的dom元素 ```javascript hashchange.isValidEl(document); // true hashchange.isValidEl(window); // true hashchange.isValidEl(document.body); // true hashchange.isValidEl({}); // false ``` `hasEvent` : 检查dom元素是否具备指定的事件名,dom元素可以是一个任意的object,也可以是标签名称,比如 `div` ```javascript hashchange.hasEvent(document, 'load'); // true hashchange.hasEvent(document, 'onload'); // true hashchange.hasEvent(window, 'resize'); // true hashchange.hasEvent('a', 'click'); // true hashchange.hasEvent('div', 'notexists'); // false ```