2011-05-05 5 views
0

jQuery UI를 사용하여 삭제 확인을 구현했습니다. 링크를 사용하여 대화 상자를 트리거하고 싶습니다. 내 코드는 다음과 같습니다.jQuery UI 삭제 확인 콜백 함수

<a href="http://www.google.com" class="delete">delete</a> 

<script type="text/javascript"> 
     $(function(){ 

      $("#dialog-confirm").dialog({ 
       resizable: false, 
       height:140, 
       modal: true, 
       autoOpen: false, 
       buttons: { 
        "Okay": function() { 
         $(this).dialog("close"); 
         return true; 
        }, 
        Cancel: function() { 
         $(this).dialog("close"); 
         return false; 
        } 
       } 
      }); 

      $(".delete").click(function() { 
       $("#dialog-confirm").dialog("open"); 
       return false; 
      }); 

     }); 
    </script> 

내가 원하는 것은 사용자가 취소를 클릭하면 아무 것도 수행하지 않습니다. 그러나 사용자가 확인을 클릭하면 계속해서 www.google.com으로 이동합니다.

아무리 괜찮아 지거나 클릭을 취소해도 아무런 변화가 없습니다. 어떤 생각?

답변

1

이 작업을 수행 할 경우에도 :

$("a.delete").trigger("click"); 

이 핸들러를 호출 한 후, jQuery를 객체에 이벤트를 트리거하기 때문에 당신은 여전히 ​​구글에 도착하지 않습니다. 요소가 링크가 아닌 경우에만 클릭 이벤트에 대한 네이티브 핸들러를 호출합니다. "열기"를 클릭에, 그리고

<a href="http://www.google.com" class="hiddenDelete" style="display:none">delete</a> 

:이 같은 페이지에 숨겨진 링크를 가질 수

window.location.href = $("a.delete").attr("href"); 

을 또는 :

당신이 뭔가를 할 수 있습니다 버튼을 클릭하면 다음을 수행 할 수 있습니다.

$("a.hiddenDelete").trigger("click"); 
+0

위대한 작품입니다! 너! – sbs