jQuery插件中的函数

时间:2011-11-28 14:51:29

标签: jquery function jquery-plugins

我编写了一个允许用户选择表格单元格的插件:

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

我有完整的主要功能,但是,我有一个问题。我需要能够将selected函数作为插件选项传递。你会看到我在小提琴中的评论。

问题是,该函数仅在mouseDown = 1时执行,但在mousemove上执行

任何帮助表示赞赏:)

3 个答案:

答案 0 :(得分:1)

使用初始化:

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

并致电你的经纪人:

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

代码:http://jsfiddle.net/Neftr/6/

答案 1 :(得分:0)

我已更新你的小提琴here

相关变化:

在初始化中,您传递匿名函数:

$(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.
    }
}

答案 2 :(得分:0)

在这里:http://jsfiddle.net/maniator/Neftr/3/

只需使用options.selected

即可