2014-07-27 2 views
1

나는 이것이 쉬워야한다고 생각하지만, 제대로 작동하지 못하고있다. 내 플러그인jquery plugin and click button

(function($) { 
$.fn.Update = function() { 
    console.log("Clicked"); 
}; 
})(jQuery); 

에서이 문제를 가지고 내가 할 위치 페이지에서이 사용하기 :

<script src="~/Scripts/my.Plugin.js"> 

</script> 

$(function() { 
    $(".btnUpdate").click(function() { 
     //TODO: Add the function from the plugin 
     Update(); 
    });   
}); 

하지만 ReferenceError가 무엇입니까 : 업데이트가 을 정의되지 않은 것을 발견 할 때 페이지 로드, 나는 함수 안에 가지 않는다, 나는 단지 $ .fn.update를 만지고 끝까지 똑바로 움직인다.

jQuery를 요소를 선택하는 새로운 방법을 추가 $.fn.Update = function() {...}를 사용

+1

이 같은 함수 호출 시도해보십시오.'$() 업데이트를(); '. – Ben

+0

감사합니다. Ben이 트릭을 만들었습니다. –

답변

3

환영 어떤 도움.

당신은 사용하여 해당 함수를 호출 할 수 있습니다 :

$.fn.Update(); 

또는 $(foo).Update(), $(foo)Update 기능의 내부 this됩니다 사용

$("...").Update(); 

.


당신은 당신이 (즉, 세계적으로 선언) 어떤 Update 기능이 없기 때문에 Update is not defined 오류가 발생하지만, $.fn.Update.

+0

이벤트를 추가 할 때/DOM을 조작 할 때 옳다고 생각하는 답변으로 받아 들였습니다. 내 상황에는 적용 할 수 없습니다. 누구든지 버튼 클릭만으로 플러그인을 사용하고자한다면 $() 업데이트가 나를 위해 속임수를 사용합니다. –

+0

@JackM 플러그인이 DOM과 상호 작용하지 않으면 간단히 플러그인을'$':'$ .Update = function() {...}'에 첨부하면됩니다. 그런 다음 직접 호출 할 것입니다 :'$ .Update()'. –

0

자신의 플러그인에서 메소드를 호출하고 있습니다.

당신은 자세한 내용은 여기를 읽어 $("#some_element").Update();

같은 요소 중 하나 bind 할 수 있습니다 http://learn.jquery.com/plugins/basic-plugin-creation/

+0

'$ .Update();'가 작동하지 않습니다. – Ben

+0

죄송합니다, 형편 없음. '$ .fn' @Ben을 사용하고 있다는 것을 잊었습니다. –