Привязка событий jQuery - PullRequest
0 голосов
/ 17 мая 2011

Я изо всех сил пытаюсь понять, как я пишу (и присоединяюсь к событиям) в пользовательском плагине jQuery.

У меня есть запуск плагина, в этом простом примере ....

http://jsfiddle.net/ETFairfax/mRAHF/9/

(function($) {
    $.fn.myPlugIn = function(options) {
        var defaults = {
            'width': 200,
            'url': 'www.someurl.com'
        };
        // If options exist, lets merge them with our default settings
        var options = $.extend({}, defaults, options);

        function somePrivateFunction() {
            return options.url;
        }

        return this.each(function() {
            $(this).text(somePrivateFunction());
            $(this).width(options.width);
        });
    };
})(jQuery);

$(document).ready(function() {

    $('#testDiv1').myPlugIn({
        'width': 150
    });
    $('#testDiv2').myPlugIn({
        'url': 'www.google.com'
    });
});

<div id="eventDriver1">Click here to update 1</div>
<div id="eventDriver2">Click here to update 2</div>
<div id="testDiv1" class="testClass"></div>
<div id="testDiv2" class="testClass"></div>

Как видите, я установил testDiv1 и testDiv2, и они ведут себя так, как я ожидал.

Теперь я хочу сказать, что eventDriver1 должен обновить testDiv1 и указать, какой текст в него должен войти.Я просто не знаю с чего начать !!

Я ценю, что это будет где-то задокументировано и / или уже задано, но я просто не знаю, какие умные слова мне нужно искать !!!Любая помощь приветствуется.

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Как насчет этого:

Демонстрация в реальном времени

$('#eventDriver1').click(function() {
    $('#testDiv1').myPlugIn({'url': 'www.yahoo.com'});
});
$('#eventDriver2').click(function() {
    $('#testDiv2').myPlugIn({'url': 'www.microsoft.com', 'width': 250});
});
1 голос
/ 17 мая 2011

Использовать клик.

$('#eventDriver1').click(function(){/*do something*/})
...