2010-12-06 6 views
1

나는 내 자신의 jquery 플러그인을 만들려고 노력하고 있지만 페이지에 이벤트를 버블 링하는 데 문제가 있습니다. (이것이 문제라고 생각합니다).jquery - 플러그인 버블 클릭 이벤트

저는 플러그인을 그렇게 부릅니다.

$('div.testdiv1').bpcolourpicker 
({ 
    onClick: onClickCallback 
}); 

var onClickCallback = function() 
{ 
    //alert('testpage'); 
} 

PLUGIN 코드 - 그래서 클릭 방법이 발사 될 때, 나는 거품에 내가 '온 클릭을 전화 드렸습니다로 메인 페이지에 해당 이벤트를 원하는되는 일이 원하는

var defaults = 
    { 
     returncolour: 'ff0000', 
     showtextbox: true, 
     onClick: function() { } 
    }; 
    var options = $.extend(defaults, options); 



    var onClick = function() 
    { 
     // default 
    } 

    // Select a colour 
    $(thisdiv).find('div.bpcolourpicker table.colours div').click(onClick, function() 
    { 
     var divtitle = RGBToHex($(this).attr('title')); 
     $(thisdiv).find('input#chosencolour').val(divtitle); 
    }); 

: onClickCallback '그래서 onClickCallBack이 이벤트를 처리 할 것이라고 생각했을 것입니다.

아무도 도와 줄 수 있습니까?

미리 감사드립니다.

+1

'options.onClick'을 호출하지 않으시겠습니까? – sje397

답변

2

변수를 설정하기 전에 onClickCallback을 전달 중입니다. 당신이 함수 function onClickCallback() { ... }로, 그것은 작동에 콜백을 변경하는 경우

코드는

alert(num); 
var num = 3; 

과 같은 방법을 실패합니다. 함수 문은 일반 변수와 달리 정의 전에 사용할 수 있습니다.


또한, .click()에 두 개의 매개 변수를 전달하여 두 개의 이벤트 핸들러를 추가 할 수 없습니다.
대신 처리기에서 명시 적으로 onClick()을 호출해야합니다.

+0

아 좋아, 나는 그들을 바꿨지 만 그 기능을 해고하지 못하고있다. – tmutton

+0

신비한 실수 - 이제 함수로 바꾸고 호출했습니다. $ ('div.testdiv1'). bpcolourpicker ({ onClick : onClickCallback }); 또한 이벤트 오에서 onclick 매개 변수를 꺼내서 그 이벤트가 끝날 때 나는 onClick을 호출했지만 작동하지 않습니다. ( – tmutton

+1

@code : @ sje397이 지적했듯이'options.onClick' . – SLaks

관련 문제