나는 내 자신의 플러그인을 만드는 법을 배우고 있으며, 기사를 http://docs.jquery.com/Plugins/Authoring에 강력하게 따르고 있습니다. 질문이있는 부분은 http://docs.jquery.com/Plugins/Authoring#Events과 같이 요소에 이벤트를 추가하는 것과 관련이 있습니다.http://docs.jquery.com/Plugins/Authoring 틀린가요?
라이브 데모는 http://jsfiddle.net/bhcEk/에 있습니다. 기본적으로 resize 이벤트 대신 click() 이벤트를 바인드하고 하나의 요소를 제외하고 해당 클래스의 여러 요소에 플러그인을 적용한다는 점만 제외하면 기본적으로 동일합니다.
요소를 클릭하면 (3) 경고가 나타납니다. 기사에서 가져온 아래 스크립트에서 볼 수 있듯이 each() 루프 내에 이벤트가 추가되므로 예상됩니다.
EDIT. Yicks! 그것은 나보다 더 나쁘다. 창 요소를 추가하여 클릭하면 모든 요소가 트리거됩니다. $ (this)로 $ (window)를 반환 할 수 있습니까?
기사가 잘못되어 한 번만 추가해야합니다 (삭제 된 상태에서 제거해야 함). 그러나 기사를 쓰는 사람들은 나보다 훨씬 경험이 많습니다. 그리고 저를 의심하는 것은 어리석은 일입니다. 기사가 잘못 되었습니까, 아니면 저입니까?
init : function(options) {
return this.each(function(){
$(window).bind('resize.tooltip', methods.reposition);
});
감사합니다 Emissary.이 기사가 특별한 경우에 적용된다고 동의하지만 동일한 이벤트가 "창"에 여러 번 묶일 수있는 방식으로 플러그인을 작성해야합니까? 루프에있는 경우에만 항상 사용하면 안되며 루프에서 한 번 창에 바인딩합니까? – user1032531
네임 스페이스를 단일 참조로 혼동시키는 것 같아요. 내 대답 - 기다려. – Emissary
다시 한 번 감사장, 나는 너가 말하는 것을 얻는다. 여전히 '크기 조정', '툴팁', function() {/ 요소 1 * /}에 고유 한 부분을 표시 한 다음 요소 2와 3에 대해 고민하고 있습니다. 특정 요소 또는 다른 요소에 할당되는 위치 ? 내가 본 모든 것은 $ (window) .bind ('resize.tooltip', methods.reposition)이며, 하나 또는 그 이상의 엘리먼트를 지정하지 않는 것으로 보인다. 감사! – user1032531