【问题标题】:jQuery Plugin: Handling EventsjQuery 插件:处理事件
【发布时间】:2010-09-24 01:44:14
【问题描述】:

我目前正在开发一个 jQuery 插件,我想知道是否可以让插件监听事件而不是被事件触发。

所以不要这样:

$('#element_id').mouseover(function() {
    $(this).plugin();
});

$('#element_id').mouseout(function() {
    $(this).pluginHide();
});

我想尝试做这样的事情:

$('#element_id').plugin(????, ????);

并用某种对应该触发它显示或隐藏的元素和事件的引用替换 ?。我还在用 jQuery 弄湿我的脚,所以如果解决这个问题的方法很明显,请耐心等待。

【问题讨论】:

    标签: jquery events jquery-plugins event-listener


    【解决方案1】:

    经过一番试验,我似乎在寻找内置的“bind()”函数。解决我原来的问题:

    jQuery.fn.plugin = function(show, hide) {
        this.bind(show, function() {
            // Do something to show.
        };
    
        this.bind(hide, function() {
            // Do something to hide.
        };
    };
    

    【讨论】:

    • 不要使用$(this)。使用this
    猜你喜欢
    • 2012-04-27
    • 2010-09-12
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多