Javascript 将jQuery插件悬停更改为单击函数

Javascript 将jQuery插件悬停更改为单击函数,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我已经尝试了很多不同的方法让我的插件中的obj变量在单击而不是悬停时添加类,但似乎没有任何效果。。obj.click(function(){似乎适用于较旧版本的jQuery,如1.4.2,但不适用于任何较新版本。。如有任何建议,将不胜感激 谢谢大家! (function($) { $.fn.vivify = function(options) { var defaults = { animation: 'bounce', }; var options

我已经尝试了很多不同的方法让我的插件中的obj变量在单击而不是悬停时添加类,但似乎没有任何效果。。obj.click(function(){似乎适用于较旧版本的jQuery,如1.4.2,但不适用于任何较新版本。。如有任何建议,将不胜感激

谢谢大家!

 (function($) {
$.fn.vivify = function(options) {

    var defaults = {
        animation: 'bounce',
    };

    var options = $.extend(defaults, options);

    return this.each(function() {
        var o = options;

        var obj = $(this);

        var animation = o.animation;

        obj.hover(function() {
         obj.addClass(o.animation);
         obj.addClass('vivify');
        },

        function() {
            obj.removeClass(o.animation);
        });
    })
}
})(jQuery);

我会尝试
bind
on
并将您引导到以下链接:

是的,评论是对的:

obj.on('click', [selector,] function(){
  obj.addClass(o.animation);
});

代码中的大<代码>开关似乎是多余的。为什么不只是代码> $(这个)?addClass(动画)< /代码>?(我知道这不能回答你的问题,但是较短的,更简单的代码更容易读和调试)只是一个问题:为什么不使用Obj.AdC类(‘反弹’),而不是使用$(这个)。addClass(“弹跳”)使用开关和不同的情况允许我应用56个动画中的任意一个,比如动画:flash或动画:tada我不知道如何用$(this).addClass(animation)替换整个开关可以让我添加多个动画吗?nvm!我想出来了!!!非常感谢这么简单!:D现在唯一的问题是它仍然不能在点击功能上工作。嘿,谢谢!我能够按照你给我看的那样缩小插件的大小,我真的很感激!!!我不知道它能以如此简单的方式完成,我认为如果我必须为每个动画类指定一个单独的案例,我尝试了单击函数,但没有成功。关于我可以尝试的方法的任何其他建议?好的!现在终于让它与obj.bind(“单击”,函数()一起工作了{现在唯一的问题是,我如何强制它在单击发生后删除添加的类,该类当前会粘住,并且不允许我再次使用单击设置动画,如果使用toggleClass它可以工作,但在第一次添加动画后,我必须单击它两次才能再次激活动画