vue-hooks-plus
Version:
Vue hooks library
33 lines (32 loc) • 695 B
JavaScript
import useBoolean from "../useBoolean";
import useEventListener from "../useEventListener";
function useHover(target, options) {
const { onEnter, onLeave, onChange } = options || {};
const [state, { setTrue, setFalse }] = useBoolean(false);
useEventListener(
"mouseenter",
() => {
onEnter == null ? void 0 : onEnter();
setTrue();
onChange == null ? void 0 : onChange(true);
},
{
target
}
);
useEventListener(
"mouseleave",
() => {
onLeave == null ? void 0 : onLeave();
setFalse();
onChange == null ? void 0 : onChange(false);
},
{
target
}
);
return state;
}
export {
useHover as default
};