seajs 引用 jquery 和 使用插件解决方法

在这里就不介绍 seajs 是啥了,直接来说说在 seajs 中使用jquery 和 jquery 插件遇到的问题:

首先:【index.html 为展示页】【main.js为主体页 】【 jquery.js 为jquery库】【plugins.js为jquery插件】,它们各自是一个页面

index.html

seajs.config({
    base:‘./static/js/‘,
    alias:{
        ‘main‘:‘main‘
    }
});
//引用主体js
seajs.use(‘main‘);

事先 jquery.js 和plugins.js 需要改造成 seajs 模块代码如下

jquery.js 改造:

(function(factory) {
    if (typeof define === ‘function‘) {
        define(‘/jquery‘, [], factory);
    }
    else {
        factory();
    }

})(function(require) {

    //...jquery 源码

    if (require) return $.noConflict(true);
});

plugins.js改造:

(function(factory) {
    if (typeof define === ‘function‘) {
        // 如果define已被定义,模块化代码
        define(‘plugins‘, [‘jquery‘], function(require, exports, module) {
            factory(require(‘jquery‘)); // 初始化插件
            return jQuery; // 返回jQuery
        });
    } else {
        // 如果define没有被定义,正常执行jQuery
        factory(jQuery);
    }
}(function($) {

 //jquery 插件代码   注意: 不包括 (function(){})(jQuery);外壳   

}));

main.js 引用jquery.js 和plugins.js:

define(function( require , exports , module ){

    //引入jquery 和 jquery 插件
    seajs.config({
        base : ‘./static/js/‘,
        alias : {
            ‘jquery‘:‘jquery.sea.js‘,
            ‘plugins‘:‘plugins.js‘
        }
    });

    //引入jquery 和 jquery 插件
    seajs.use([‘jquery‘,‘plugins‘],function($){

        //...这里是jquery插件调用

        //平时写的代码
        $(function(){
            $(document).click(function(){
                $(‘body‘).html(‘‘);
            });
        });
    });

});

本文案例参考范文:http://julabs.com/blog/seajs-jquery-and-plugins/

时间: 2024-09-30 19:07:18

seajs 引用 jquery 和 使用插件解决方法的相关文章

苹果CMS安装时缺少fileinfo插件解决方法

原文摘自:https://www.mytheme.cn/article/118.html 1.在安装苹果cms系统建站时由于所使用的php版本过低会导致出现缺少fileinfo插件(如下图) 2. 解决方法其实很简单,我们以宝塔面板为例.(如下图)打开宝塔面板找到软件管理. 3.选择你环境安装的PHP版本,点击设置按钮.(如下图) 4,选择安装扩展,将缺少的fileinfo插件手动安装一下就可以了,安装后重启php让其生效. 5,也可以直接切换下php版本7.0及以上来解决此问题. 原文地址:h

jquery的smartWizard插件使用方法

jquery 的smartWizard插件常用在一些向导式的,按步骤的功能中,是的用户按照我们设定的步骤进行操作,这样一方面有较好的用户体验,可以将庞大的表格 数据分解成多个步骤,是的每个步骤的数据量减少:另一方面流程比较清晰,先做那个下一步做什么都是可控可设定的. 下面说一下如何使用,首先html中引入jquery的smartWizard插件对应的jquery.smartWizard-2.0.js html中代码如下: [html] view plaincopyprint? <!--html 

Electron &quot;jQuery/$ is not defined&quot; 解决方法

参考问题:https://stackoverflow.com/questions/32621988/electron-jquery-is-not-defined <!-- Insert this line above script imports --> <script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> <!-- normal

类库文件引用web服务报错解决方法-在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素

由于需求,需要改造原有应用,因原有应用是写在console下面的,现在需要开放至web下, 想到BIZ层应用代码都是一样的,又不想在web下在添加引用,而重复写代码,故将原有的console下的服务和web下服务一起迁移至BIZ层 于是我将console下的引用,web下的引用,全部添加至BIZ层进行引用 但在调试,运行的时候,问题出现了, 在 ServiceModel 客户端配置部分中,找不到引用协定“PutMCCases.PutMCCasesSoap”的默认终结点元素.这可能是因为未找到应用

jquery validate 验证插件 解决多个相同的Name 只验证第一个的方案

方案一:如果 项目里不是只是个别页面 有多个name 验证, 那么利用 prototype 来写,把这段代码加在你所要使用多个name的页面  的js初始化里 即可 if ($.validator) {            $.validator.prototype.elements = function () {                var validator = this,                  rulesCache = {}; // select all valid

[转][JavaScript]使用jquery插件报错:$.browser is undefined的解决方法

刚开始以为是插件有错误,就到官方网站去下载一个最新版的Jcrop插件,结果在原项目的网页打开就是正常的,而引入项目就会报错,我发现可能与jquery的插件版本有关,查看官方的demo目录下的juqery版本是V1.3.2,而我使用的jquery版本是V1.11.1,查看jquery官方的更新日志,果然是这个的问题.关于$.browserbrowser就是用来获取浏览器基本信息的. jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的

使用jquery插件报错:TypeError:$.browser is undefined的解决方法

关于$.browser browser就是用来获取浏览器基本信息的. jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9. 解决方法 加入以下js即可 (function(jQuery){ if(jQuery.browser) return; jQuery.browser =

引用多个jq插件造成冲突时

在页面中引用了pikachoose插件和lightbox插件,会造成冲突,导致pikachoose插件无法使用 主要原因是 $ 符号不知道调用哪个jq插件 解决方法:(顺序不能错)

jQuery颜色面板插件

/** * jQuery颜色面板插件 * * 使用方法:input框的id默认为inputObj,button框的id默认为btnObj,也可以自定义aaa,bbb * 1.初始化颜色面板:$.color.initColor(); * 2.绑定颜色面板:$.color.showColor();或者$.color.showColor({inputObj:'aaa',btnObj:'bbb'}) * @author Ivan [email protected] * @date 2014年12月13日