функция в плагине jQuery - PullRequest
       4

функция в плагине jQuery

0 голосов
/ 28 ноября 2011

Я написал плагин, который позволяет пользователю выбирать ячейки таблицы:

http://jsfiddle.net/leeprice/Neftr/

Основная функциональность завершена, но у меня проблема. Мне нужно иметь возможность передать функцию selected в качестве опции плагина. Вы увидите, где я прокомментировал в скрипке.

Проблема в том, что функция должна выполняться только при mouseDown = 1, но она выполняется при перемещении мыши

любая помощь приветствуется:)

Ответы [ 4 ]

1 голос
/ 28 ноября 2011

Использовать инициализацию:

$('table').cellSelect({selected: function() { 
                                    alert('selected'); }
                              });

И позвоните вашему обработчику:

// Needs to execute here
if (options.selected)
    options.selected();
}

Код: http://jsfiddle.net/Neftr/6/

0 голосов
/ 28 ноября 2011

Я обновил вашу скрипку здесь

Соответствующие изменения:

В инициализации вы передаете анонимную функцию:

$(function() {
    $('table').cellSelect({ selected: function() { alert("foo"); }});
});

Затем при необходимости запустите функцию, назначенную параметру options.selected:

if (mouseDown === 1) {
    if (shiftDown === 1) {
        $(this).removeClass('selected');
    } else {
        $(this).addClass('selected');
        options.selected; // run passed anonymous function, or default specified one.
    }
}
0 голосов
/ 28 ноября 2011

Вот, пожалуйста: http://jsfiddle.net/maniator/Neftr/3/

Просто используйте options.selected

0 голосов
/ 28 ноября 2011

измените параметры на

selected: function() {

}

, поэтому при вызове плагина вы можете сделать

$('table').cellSelect({
    selected:function() {
        alert('b');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...