$(document).ready(function() {
    $(".ajaxBtn").ajaxBtn(function() {$(this).hide(500);});
});//改成这样试试
$(document).ready(function() {
    $(".ajaxBtn").ajaxBtn(function(e) {e.hide(500);});
});

解决方案 »

  1.   

    不行,报错Uncaught TypeError: Cannot call method 'hide' of undefined 
      

  2.   

    $callback ? $callback.call($) : "";//试下
      

  3.   

    上面的错了,试下这个
    $.fn.extend({
        ajaxBtn: function() {
            $callback = typeof arguments[0] == "function" ? arguments[0] : undefined;
            $(this).click(function() {
                if($(this).attr("type") == "submit") {
                    $form = $(this).parents("form");
                    $type = "post";
                    $url = $form.attr("action");
                    $data = $form.serialize();
                } else {
                    $type = "get";
                    $url = $(this).attr("href");
                    $data = "";
                }
                $_this = this;
                $.ajax({
                    type: $type,
                    url: $url,
                    data: $data,
                    success: function($data) {
                        if($data.result == 1) {
                            $.handleMsg("操作成功", $data.msg);
                        } else if($data.result == 0) {
                            $.handleMsg("操作失败", $data.msg);
                        }
                        $callback ? $callback.call($_this) : "";
                    },
                    error: function() {$.handleMsg("", "请求失败!")}
                });
                return false;
            });
        }
    });
      

  4.   

    $(".ajaxBtn").ajaxBtn(function() {$(this).hide(500);});改成
    $(".ajaxBtn").ajaxBtn(function() {$(".ajaxBtn").hide(500);})
    你是想隐藏哪个元素啊
    如果是点击的那个元素在方法里重新设定元素
    类似
    $.fn.extend({'ss':function(c){
      c.call(this,arguments)
    }});
    $('#js_haskonwn').ss(function(){$(this).hide()});
      

  5.   

    这个关于this的指向问题,不论是在原生的JS,还是在jQuery中,你自定义的插件,this的指向都是相同的原理,建议查看一下我之前的一篇文章:函数中this的指向-简单认识
      

  6.   

    这个虽然在调用时传入了$_this参数,但是使用的时候$(".ajaxBtn").ajaxBtn(function() {$(this).hide(500);});还是不行
      

  7.   

    谢谢,按照你指点的方法,把$callback ? $callback.call($_this) : "";就好了,谢谢
      

  8.   

    这个虽然在调用时传入了$_this参数,但是使用的时候$(".ajaxBtn").ajaxBtn(function() {$(this).hide(500);});还是不行
    小弟看错了,刚刚写成了$callback ? $callback($_this) : "";失败了,仔细看了是$callback ? $callback.call($_this) : "";
    谢谢,搞定了