2014-01-23 2 views
0
(function ($){    
    $.fn.customAlert = function(callback){ 
     buttonClicked().then(function(){ 
      if (typeof callback == 'function'){ 
       callback.call(this); 
      } 
     }, function(){ 
      alert("didn't work"); 
     }).always(function(){    
      }); 
    };  
}(jQuery)); 

나는 사용자 지정 프롬프트를 만들려고하는데, 지금까지 내가 가지고있는 것입니다. 단추가 나타나고 내 자바 스크립트의 다른 부분에서 $.customAlert(...);이라고하지만 단추는 응답을 생성하지 않습니다.지연된 객체를 사용하는 Jquery 플러그인이 작동하지 않습니다.

Uncaught TypeError: Object function (e,t){return new x.fn.init(e,t,r)} has no method 'customAlert'

+0

오류 콘솔을 보셨습니까? – SLaks

답변

1

당신은 $.fn에서 customAlert를 만드는. 이는 jQuery 선택에 메소드를 추가하는 데 사용됩니다. 따라서 $.customAlert(...);으로 전화를 걸면 작동하지 않습니다. 이런 식으로 customAlert을 호출 할 수있게하려면 $이 아닌 $.fn에 할당해야합니다. 그렇지 않으면 $('some selector').customAlert으로 호출해야합니다.

+0

예, 너무 간단합니다. 감사. 나는; 그러나 콘솔에서 'buttonClicked is not defined'라는 오류 메시지가 나타납니다. –

+0

'ready' 핸들러 안에'buttonClicked'을 정의하고 있으므로, 그 코드 블록에는 보이지 않습니다. 준비된 핸들러 외부로 이동하거나 동일한 핸들러 내에'$ .customAlert'를 생성해야합니다. – Jacob

+0

굉장한, 그랬어. 제 생각에 jquery에 대해 흥분한 것 같습니다. :) –

관련 문제