> 웹 프론트엔드 > JS 튜토리얼 > javascript onmouseout 솔루션_javascript 기술

javascript onmouseout 솔루션_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:23:05
원래의
1119명이 탐색했습니다.

onmouseout은 트리거링이 너무 민감하다는 것을 발견했습니다. 레이어의 텍스트 체인을 통과할 때 onmousetout 이벤트가 트리거되어 함수가 정상적으로 표시되지 않습니다. 참고용으로 정리했습니다.

1.

코드 복사 코드는 다음과 같습니다.

< ;script type ="text/javascript">
함수 테스트(obj, e) {
if (e.currentTarget) {
if (e.관련Target != obj) {
if ( obj != e.관련Target.parentNode) {
 alert(1);
 }
 }
 } else {
 if (e.toElement != obj) {
 if ( obj != e.toElement.parentNode) {
경고(1)
 }
 }
 }
 }
"테스트( 이, 이벤트)" style="width:100px;height:100px;border:1px #666 solid">
  faddsf 


2.

코드 복사 코드는 다음과 같습니다.
 var LeaveFunext = function(t,f){for(var p in f){t[p]=f[p]} return t};
var IE = 'v' == 'v';
var contain = function(wrap,child){
if(IE) return Wrap.contains(child); while(child && typeof( child.parentNode) != "undefind"){
 if(wrap == child) return true
 child = child.parentNode;
}
return false; 🎜> };
var LeaveFun = function(o){
var _o = typeof o == "string" ? document.getElementById(o) :
return this == window ? _o):LeaveFunext(_o , LeaveFun.prototype);
 };
LeaveFun.prototype = {
mouseleave : function(fn){
if(IE){
this.attachEvent( 'onmouseleave',fn) ;
 }else{
this.addEventListener('mouseout',function(e){
tar = e.관련Target;
if(!contains(this, tar) ){
fn .call(this);
 }, false)
 }
  return this; ){document.getElementById('share_customerdiv').style.display ='none';})


3. 가장 간단하지만 일부 시스템에서는 약간 다를 수 있습니다.




코드 복사

코드는 다음과 같습니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿