2012-04-17 3 views
0

좋아, 사용자 지정 확인 상자에서이 플러그인을 구현하려고하는데 리턴 값까지는 약간의 손실이 발생합니다. 여기에 원래는 다음과 같습니다javascript/jquery에서 기본 확인을 재정의하는 방법

jQuery("a.confirm").click(function() { 

if (confirm('<?php _e('Are you sure?') ?>')) return true; else return false; 

}); 

을이 나는 구현하기 위해 노력하고있어 :

$("a.confirm").click(function(){ 

    var elem = $(this).closest('.item'); 

    $.confirm({ 
     'title'  : 'Delete Confirmation', 
     'message' : 'You are about to delete this item. <br />It cannot be restored at a later time! Continue?', 
     'buttons' : { 
      'Yes' : { 
       'class' : 'blue', 
       'action': function(){ 
        elem.slideUp(); 
       } 
      }, 
      'No' : { 
       'class' : 'gray', 
       'action': function(){} // Nothing to do in this case. You can as well omit the action property. 
      } 
     } 
    }); 

정말 난 그냥 대신 처음의 두 번째를 인식하는 클릭 이벤트를 얻을 필요가 있고, 제대로 반환 . 지금 당신이 클릭하면, 나는 원래 (브라우저 기본값)와 나는 나중에 두 번째를 얻을. 나는 "if 문"이 나를 던지고있는 것이라고 생각한다.

아이디어가 있으십니까?

+0

두 페이지를 같은 페이지에 사용하고 있습니까? –

+0

'원본'에서 더 효율적일까요 반환 확인 (''); ??? – chepe263

+0

흠, 이것은 친구 기자가 사용하는 기본값입니다. 나는 맞는 것처럼 그것을 확실히 바꿀 수 있습니다. @ 샘 아니, 내 시도는 단지 두 번째를 사용하는 것입니다. 첫 번째가 기본값입니다. – Sin

답변

1

우선 jQuery click 메서드는 jQuery 객체를 반환합니다. .click()에 전달 된 익명 함수에서 반환하기 위해 지정한 내용은 반환하지 않습니다.

둘째, if 문에 구문 오류가 있습니다. 다음과 같이 작성해야합니다.

if (confirm("<?php _e('Are you sure?') ?>")){ 
    return true; 
} else { 
    return false; 
} 
+0

위와 같이 주석을 달아 주셔서 감사합니다. 이것은 다음을 통해 제공되는 코드입니다. buddy press,하지만 나는 변화와 커스터마이징을하고있다. 그래서 그걸 알아 줘서 고마워. – Sin

관련 문제