求问jquery的插件写法问题

雪梨苹果 发布于 2014/04/23 18:54
阅读 153
收藏 0
(function($){
    $.fn.validate=function(_config){
         this.submit(function(){
            alert(1);
        });//这里会失败
          $( this).submit(function(){
               alert(1); 

        });//这里也会失败

        var _int=function(){
            $(this).on('submit',function(){
                alert(11);
                return false;
            });//这里会运行成功,为什么??
        };

        _int();
        return this;
    }
    $.fn.validate.config={
         events:'submit'
    };
})(jQuery)

var validate=$("form").validate();

问下jq插件问题,上面的为什么运行失败,把它放进私有函数就成功?

加载中
0
开源无憾
开源无憾
这叫jquery插件,看标题我还以为是大牛来普及高端知识呢
0
开源无憾
开源无憾
你的私有函数是什么东西?贴下代码看看
0
雪梨苹果
雪梨苹果

引用来自“开源码农”的评论

你的私有函数是什么东西?贴下代码看看

就这样,其他代码我全部去掉了。

把submit()写在私有int里面就运行,写在外面就不行,为什么?

0
Brin想写程序
Brin想写程序

事件触发时间啊。。你自己看看。

0
Brin想写程序
Brin想写程序

引用来自“开源码农”的评论

你的私有函数是什么东西?贴下代码看看

引用来自“lijiap”的评论

就这样,其他代码我全部去掉了。

把submit()写在私有int里面就运行,写在外面就不行,为什么?

啥叫私有的int,明明是事件绑定。。。

$.fn.validate=function(_config){

这个只是初始化function而已,你在里面只能注册事件,等待用户操作的响应。

你在里面执行submit干嘛。。


 $(this).on('submit',function(){
13                 alert(11);
14                 return false;

15             });//这里会运行成功,为什么??
这里是绑定了submit事件,当用户提交网页发出submit的事件时,才会调用这个 alert(11)

返回顶部
顶部