首页 新闻 会员 周边 捐助

jquery extend

0
悬赏园豆:10 [已解决问题] 解决于 2016-12-14 10:10

$(function(){

  jQuery.fn.extend({

     uploadPreview: function(opts) {}

  })

})

这种写法在页面上调用$('.class').uploadPreview({})

会报错

请教各位大神 是为什么呢

要怎么写才不会报错呢

改吧的主页 改吧 | 初学一级 | 园豆:104
提问于:2016-12-13 14:33
< >
分享
最佳答案
0

页面调用套个function试试

$(function(){ //代码});

写在里面试试

收获园豆:8
代码飞了 | 菜鸟二级 |园豆:470 | 2016-12-13 14:52

是可以的,但是这是为什么呢?

 

改吧 | 园豆:104 (初学一级) | 2016-12-13 14:54

@小码农雯: 可以了嘛

代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 14:54

@代码飞了: 可以  但是原理是为什么呢?

改吧 | 园豆:104 (初学一级) | 2016-12-13 14:55

@小码农雯: 这样想,你想用这个方法,所以你要引用JQuery,

JQuery也是有规范的

用JQuery里面的方法时,你要让它识别这个方法。

就像,方法要写在类里面一样,不然离开类,他就报错一样。

所有的东西都有一个归属

代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 15:02

@代码飞了: 但是要是不想要在页面上套用(function(){})的话有什么办法吗?要不然不可能用别人的插件的时候还想着要加个(function(){})在上面呀

改吧 | 园豆:104 (初学一级) | 2016-12-13 15:08

@小码农雯: 也不是,有好多种写法,不要让他独立就好,不然他不识别

代码飞了 | 园豆:470 (菜鸟二级) | 2016-12-13 15:10

@代码飞了: 要么放到最后面引入。

jasondyoung | 园豆:424 (菜鸟二级) | 2016-12-13 22:07
其他回答(2)
0

看看浏览器调试工具里出现什么错误?


坤坤 | 园豆:919 (小虾三级) | 2016-12-13 14:34

这样子的

支持(0) 反对(0) 改吧 | 园豆:104 (初学一级) | 2016-12-13 14:36

@小码农雯: js 文件引用的顺序对吗?


支持(0) 反对(0) 坤坤 | 园豆:919 (小虾三级) | 2016-12-13 14:38

@坤坤: 现在这样就是想让html加载完再加载js,是正确的,加载完jQuery了才加载这个

支持(0) 反对(0) 改吧 | 园豆:104 (初学一级) | 2016-12-13 14:39
0

;(function($){

      $.fn.extend({

     uploadPreview: function(opts) {}

  })

})(jQuery);

试试

收获园豆:2
刘阳|lyang|yangakw | 园豆:212 (菜鸟二级) | 2016-12-13 18:19

谢谢,选择基本上解决了这个问题

支持(0) 反对(0) 改吧 | 园豆:104 (初学一级) | 2016-12-14 10:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册