2010-04-18 6 views
2

을 감안할 때 다음 함수를 클릭 :제외는 window.onbeforeunload에서 DIV 내에서

<div id="ignore me"><a href="">blah</a><a href="">blah</a><a href="">blah</a></div> 

아이디어가 있으십니까?

** 업데이트 사이트의 검색으로 인해 다음 코드가 표시됩니다. 하지만 왜?

$("#searchresults li").live('click', function(e) { 
    if (e.target.nodeName != "a") { 
     window.location = $(this).find('a').attr('href'); 
    } 
}); 
+0

을 수행하는 CKEDITOR은 iframe을 무시, 문제는 사라집니다. 왜? – AnApprentice

답변

1

당신은이 작업을 수행 할 수 있습니다 내가 할 귀하의 ID를 변경

$("#ignoreMe").click(function() { 
    window.onbeforeunload = null; 
}); 

ignoreMe 그래서이 유효하지만 당신은 지점 : 질문으로 판단, 당신은 선택을위한 #ignoreMe a을 할 수 있습니다 얻을, 해당 div 안에있는 링크를 처리기를 실행하지 못하게하려면 원하는 셀을 선택기로 사용하십시오. 내가 그 바인딩을 변경하는 경우

+0

매우 흥미 롭습니다 ... 그럼이 코드는 내가 가지고있는 코드 앞이나 뒤에 갈 것입니다 ??? 또한 의미? 아니면 두 그룹의 코드를 위에 얹어서 똑똑하고 깨끗한 방식으로 결합 할 수 있습니까? – AnApprentice

+0

@nobosh - 네, 추가해야합니다. 실제로이 코드를 결합하는 더 좋은 방법은 없지만이 코드를'$ (function() {});에 넣으면'document.ready'에서 실행됩니다. before/after는 중요하지 않습니다. 클릭 핸들러 내의 코드는 링크가 클릭 될 때까지 실행되지 않습니다. –

+0

@nick, 코드를 시도했는데 문제는 이제 window.onbeforeunload가 작동하지 않습니다. 뒤로 버튼 등은 저장되지 않은 변경 사항을 사용자에게 경고하는 프롬프트를 표시하지 않습니다. 나는 그것이 하나의 함수이고, 함수가 질문에 붙여 넣을 때 확장 되었다면 위대하다고 생각합니다. 그러나 if 문을 클릭하고 무시하고 계속한다고 말하는 if 문이 내부에있었습니다. 말이 돼? 어떤 아이디어? – AnApprentice

0

window.top.onbeforeunload이이 작업이 살아있는 함께 할 수있는 뭔가가

관련 문제