javascript - js 창 이스케이프 효과, 조언해주세요

WBOY
풀어 주다: 2016-08-04 09:19:38
원래의
1349명이 탐색했습니다.

백엔드 구축을 위해 기사 편집 기능, 제품 요구 사항, 사용자가 편집 창을 클릭하여 저장하지 않고 변경하는 경우, 기본 이벤트를 방지하기 위해 편집 창 외부 아무 곳이나 클릭하면 팝업 창이 뜹니다. 사용자가 기본 이벤트를 실행할지 여부를 선택할 수 있습니다.
고심 끝에 좋은 해결책이 없습니다.

가장 큰 문제는 브라우저를 닫아도 팝업창이 뜨는 것이 아니라, 페이지에서 편집할 수 없는 창 부분을 클릭하면 팝업창이 뜨고, 이 부분에 다양한 바인딩 이벤트, 링크 등이 있다는 점입니다. .

답글 내용:

백엔드 구축을 위해 기사 편집 기능, 제품 요구 사항, 사용자가 편집 창을 클릭해 저장하지 않고 변경하는 경우, 기본 이벤트를 방지하기 위해 편집 창 밖 아무 곳이나 클릭하면 팝업 창이 뜹니다. 사용자가 기본 이벤트를 실행할지 여부를 선택할 수 있습니다.
고심 끝에 좋은 해결책이 없습니다.

가장 큰 문제는 브라우저를 닫아도 팝업창이 뜨는 것이 아니라, 페이지에서 편집할 수 없는 창 부분을 클릭하면 팝업창이 뜨고, 이 부분에 다양한 바인딩 이벤트, 링크 등이 있다는 점입니다. .

원래 아이디어는 편집창에 디포커스 이벤트를 추가하고, 커스텀 확인을 팝업하고, 확인 선택에 따라 기본 이벤트 실행 여부를 판단하는 것이었지만 포기했습니다...
결국 , 각 링크와 이벤트만 줄 수 있었는데 판단 방법을 추가하고 기본 실행 함수를 콜백 매개변수
로 전달하는 방식은

와 유사합니다.
<code><a href="index.php">首页</a></code>
로그인 후 복사

으로 변경되었습니다.
<code><div id="myconfirm">
    <p>确认离开?</p>
    <button id="yes">是</button><button id="no">否</button>
</div>
<a href="javascript:void(0)">首页</a>
<script>
$('a').click(function(){
    myconfirm(function(){
        window.location.href="index.php";
    },function(){
        return false;
    });
});
function myconfirm(fun_yes,fun_no){
    $('#yes').unbind();
    $('#no').unbind();
    $('#yes').click(function(){
        fun_yes();
    });
    $('#no').click(function(){
        fun_no();
    });
    $('#myconfirm').show();
}
</script></code>
로그인 후 복사

매우 인기 있는 대화 플러그인
http://aui.github.io/artDialo...

브라우저 종료 이벤트 듣기

onblur 이벤트를 에디터에 바인딩할 수는 없나요?

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