jquery - плагин пузыря событие - PullRequest
1 голос
/ 06 декабря 2010

Я пытаюсь создать свой собственный плагин jquery, но у меня возникают проблемы с выводом события на страницу (я думаю, что это проблема).

Я вызываю плагин следующим образом.

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

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

PLUGIN CODE-

    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);
    });

Итак, я хочу, чтобы при нажатии метода click я отправлял это событие на главную страницу при вызове onClick: onClickCallback«поэтому я подумал, что onClickCallBack будет обрабатывать событие.

Кто-нибудь может помочь?

Заранее спасибо.

1 Ответ

2 голосов
/ 06 декабря 2010

Вы передаете onClickCallback перед тем, как установить переменную.

Ваш код не работает так же, как

alert(num);
var num = 3;

Если вы измените обратный вызов на функцию оператор , например function onClickCallback() { ... }, будет работать.Операторы функций могут использоваться до их определений, в отличие от обычных переменных.


Также нельзя добавить два обработчика событий, передав два параметра в .click().
Вместо этого вы должны явно вызвать onClick()от вашего обработчика.

...