導航:首頁 > 編程語言 > seajsready

seajsready

發布時間:2023-08-10 19:50:55

Ⅰ jquery layer插件,拓展模塊layer.ext.js如何正確載入

jquery layer插件,拓展模塊layer.ext.js正確載入需要進行全局配置。

解決方法如下:

layer.config(options)- 初始化全局配置

這是一個可以重要也可以不重要的方法,重要的是,它的權利真的很大,尤其是在模塊化載入layer時,你會發現你必須要用到它。它不僅可以配置一些諸如路徑、載入的模塊,甚至還可以決定整個彈層的默認參數。而說它不重要,是因為多數情況下,你會發現,你似乎不是那麼十分需要它。但你真的需要認識一下這位伙計。

如果您是採用seajs或者requirejs載入layer,你需要執行該方法來完成初始化的配置。

如果你是採用<script src="?a.js&layer.js">這種合並的方式引入layer,那麼您需要在script標簽上加一個自定義屬性merge="true"。

layer.ready(path, callback)- 初始化就緒

由於我們的layer內置了輕量級載入器,所以你根本不需要單獨引入css等文件。但是載入總是需要過程的。當你在頁面一打開就要執行彈層時,layer.ready()會是一個不錯的幫手。它也可以做一些layer.config可以做的事,比如指向layer.js所在目錄。但是如果你已經通過layer.config配置了path,你在使用layer.ready時,是不需要path的

Ⅱ jquery layer插件 ,拓展模塊layer.ext.js沒正確載入 不能調用layer.prompt方法。到底要怎麼正確載入啊

jquery layer插件,拓展模塊layer.ext.js正確載入需要進行全局配置。

解決方法如下:

layer.config(options)- 初始化全局配置

這是一個可以重要也可以不重要的方法,重要的是,它的權利真的很大,尤其是在模塊化載入layer時,你會發現你必須要用到它。它不僅可以配置一些諸如路徑、載入的模塊,甚至還可以決定整個彈層的默認參數。而說它不重要,是因為多數情況下,你會發現,你似乎不是那麼十分需要它。但你真的需要認識一下這位伙計。

如果您是採用seajs或者requirejs載入layer,你需要執行該方法來完成初始化的配置。

如果你是採用<script src="?a.js&layer.js">這種合並的方式引入layer,那麼您需要在script標簽上加一個自定義屬性merge="true"。

layer.ready(path, callback)- 初始化就緒

由於我們的layer內置了輕量級載入器,所以你根本不需要單獨引入css等文件。但是載入總是需要過程的。當你在頁面一打開就要執行彈層時,layer.ready()會是一個不錯的幫手。它也可以做一些layer.config可以做的事,比如指向layer.js所在目錄。但是如果你已經通過layer.config配置了path,你在使用layer.ready時,是不需要path的

Ⅲ seajs載入jquery時提示$is not a function該怎麼解決

將js插件cmd模塊化(define封裝成seajs模塊,返回匿名函數,包含插件的源碼)。
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:24
* To change this template use File | Settings | File Templates.
*/

define(function(require,exports,moudles){
return function(jquery){
(function($) {
$.fn.pri= function() {
alert($("a").attr("href"))
// 代碼區域。
};
})(jquery);
}

})
jquery庫在總js文件(調用該插件的文件)中載入。通過require("t1/jquery_pligun")()來傳遞jquery變數(參數) ,保證了jquery在調用js插件模塊之前載入
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:40
* To change this template use File | Settings | File Templates.
*/
define(function (require, exports, moudles) {
var $=require("jquery")
require("t1/jquery_pligun")($)
$(document).ready(function () {
$("a").pri()
})

})

充:SeaJS是一個遵循CommonJS規范的JavaScript模塊載入框架,可以實現JavaScript的模塊化開發及載入機制。與
jQuery等JavaScript框架不同,SeaJS不會擴展封裝語言特性,而只是實現JavaScript的模塊化及按模塊載入。SeaJS的主要
目的是令JavaScript開發模塊化並可以輕松愉悅進行載入,將前端工程師從繁重的JavaScript文件及對象依賴處理中解放出來,可以專注於代
碼本身的邏輯。SeaJS可以與jQuery這類框架完美集成。使用SeaJS可以提高JavaScript代碼的可讀性和清晰度,解決目前
JavaScript編程中普遍存在的依賴關系混亂和代碼糾纏等問題,方便代碼的編寫和維護。

Ⅳ seaJS怎麼根據IE判斷使用jquery版本

jQuery插件本質上是將命名空間掛在全局的jQuery或jQuery.fn上而非使用define定義的模塊。
JQuery的這種擴展機制同模塊化要求模塊的獨立性,以及模塊互相隔離有點沖突。
jQuery插件數目眾多,我們不打算做大量的轉換工作,為模塊化而模塊化,甚至改變插件的調用方式,
這樣對開發帶來的價值不大。只希望通過模塊載入器實現自動的依賴管理,按需載入,並且使用方式自然。
1.常見的jQuery插件的模塊化方式
把jquery插件作為一個函數返回,帶一個jquery參數,由調用者完成插件的初始化。
以jquery-themeswitch插件為例子,該插件依賴jquery.cookie插件。
/* jquery-themeswitch.js */

define(function(require) {

return function(jQuery) {

//先初始化依賴的模塊
require('./jquery.cookie')(jQuery);

//put plugin code here

}//end of function

});

2.jquery模塊化後調用方式
下面的demo對模塊的引用採用相對路徑,實際的業務開發中可以通過seajs提供的alias來重命名
(1)模塊內部使用
var $ = require('./libs/jquery');
require('./libs/jquery-themeswitch')($);
require('./libs/jquery-ui')($); //demo涉及jquery ui組件

$(document).ready(function(){ //在DOM載入完成時運行代碼

$('#elem').themeswitcher();
...

}
...

(2)在script代碼片段中
seajs.use(['./libs/jquery','./libs/jquery-themeswitcher', './lib/jquery-ui'],
function ($, themeswitcher,jqueryui){

themeswitcher($); //init jquery plugin
jqueryui($);

$(function(){ //dom ready調用的另外一種方式

$('#elem').themeswitcher()
...

});

});

優缺點對比:
優點:
* 依賴管理自動化
* 支持多個版本的jQuery使用。(需要這個優點嗎?)
缺點:
* 每次調用一次require('plugin')($),會重新初始化一次插件
* 調用方式也不是很方便,調用代碼不是很直觀
提示:可以在jQuery中添加一個cachedPlugins對象來保存載入過的插件模塊id來防止重復載入
3.另外一種插件模塊化方式
假定我們去掉jquery多版本的支持,讓每個jquery插件模塊返回$,看看代碼調用方式是否會更自然一些。
另外每個模塊只能被編譯一次,利用該特性,我們還可以做到讓每個插件只會被初始化一次。
說明:模塊編譯過程就是構建模塊的exports的過程。
還以themeswitcher為例子:
jquery-theme-switcher.js
define(function (require, exports, mole) {

var jQuery = require('./jquery');

require('./jquery-cookie');

//put plugin in code here

return jQuery;

});

(1)模塊內部使用
require('./libs/jquery-ui'); //可以不處理返回值
var $ = require('./libs/jquery-themeswitch') //返回的還是$

$(function(){

$('#elem').themeswitcher();

});

...

(2)在script代碼片段中
seajs.use(['./libs/jquery-themeswitcher', './lib/jquery-ui'],function ($){

$(function(){

$('#elem').themeswitcher()
...

});

});

4.簡化jquery插件的引用
如果你使用的插件比較多,還可以通過這樣的方式來簡化jquery插件的引用。
定義一個myjquery.js
define(function(require) {

require('some-plugin1'); //會自動載入相關的依賴插件
require('some-plugin2'); //如果記不清依賴關系,重復require也沒有影響。
require('some-plugin3');

return require('some-plugin'); //每個插件模塊都會返回$,取最後一個返回就可以了。

});

在其他的業務代碼中,你只需要引入自己定製好的myjquery.js即可。
注意不要在該文件中引入過多的模塊,避免影響性能,其他不常用的插件可以按需載入。
main.js
define(function(require) {

var $ = require('./myjquery'); //所有你定製載入的插件都已經初始化好了

//do something

Ⅳ Seajs的使用

seajs.config
alias
別名配置,配置之後可在模塊中使用require調用 require('jquery');

paths
設置路徑,方便跨目錄調用。通過靈活的設置path可以在不影響base的情況下指定到某個目錄。

vars
變數配置。有些場景下,模塊路徑在運行時才能確定,這時可以使用 vars變數來配置。
vars 配置的是模塊標識中的變數值,在模塊標識中用 {key}來表示變數。

map
該配置可對模塊路徑進行映射修改,可用於路徑轉換、在線調試等。

preload
使用preload配置項,可以在普通模塊載入前,提前載入並初始化好指定模塊。
註:preload中的空字元串會被忽略掉。

註:preload中的配置,需要等到 use 時才載入。比如:

註:preload 配置不能放在模塊文件裡面:

debug
值為true時,載入器不會刪除動態插入的 script 標簽。插件也可以根據debug配置,來決策 log 等信息的輸出。

base
Sea.js 在解析頂級標識時,會相對 base 路徑來解析。

charset
獲取模塊文件時,<script> 或 <link> 標簽的charset屬性。 默認是utf-8
charset還可以是一個函數:

seajs.use
用來在頁面中載入一個或多個模塊。seajs.use(id, callback?)

注意:seajs.use 與 DOM ready 事件沒有任何關系。如果某些操作要確保在 DOM ready 後執行,需要使用 jquery 等類庫來保證。比如

注意:use方法第一個參數一定要有,但是可以是null,也可以是一個變數

seajs.cache
通過 seajs.cache,可以查閱當前模塊系統中的所有模塊信息。
比如,打開 seajs.org,然後在 WebKit Developer Tools 的 Console 面板中輸入 seajs.cache,可以看到:

seajs.reslove
類似require.resolve,會利用模塊系統的內部機制對傳入的字元串參數進行路徑解析。

seajs.data
通過 seajs.data,可以查看 seajs 所有配置以及一些內部變數的值,可用於插件開發。當載入遇到問題時,也可用於調試。

Ⅵ seajs怎麼調用jquery的插件

方法一,將js插件cmd模塊化(define封裝成seajs模塊,返回匿名函數,包含插件的源碼)。
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:24
* To change this template use File | Settings | File Templates.
*/

define(function(require,exports,moudles){
return function(jquery){
(function($) {
$.fn.pri= function() {
alert($("a").attr("href"))
// 代碼區域。
};
})(jquery);
}

})
jquery庫在總js文件(調用該插件的文件)中載入。通過require("t1/jquery_pligun")()來傳遞jquery變數(參數) ,保證了jquery在調用js插件模塊之前載入
/**
* Created with JetBrains PhpStorm.
* User: ph
* Date: 13-3-11
* Time: 上午9:40
* To change this template use File | Settings | File Templates.
*/
define(function (require, exports, moudles) {
var $=require("jquery")
require("t1/jquery_pligun")($)
$(document).ready(function () {
$("a").pri()
})

})
補充:SeaJS是一個遵循CommonJS規范的JavaScript模塊載入框架,可以實現JavaScript的模塊化開發及載入機制。與jQuery等JavaScript框架不同,SeaJS不會擴展封裝語言特性,而只是實現JavaScript的模塊化及按模塊載入。SeaJS的主要目的是令JavaScript開發模塊化並可以輕松愉悅進行載入,將前端工程師從繁重的JavaScript文件及對象依賴處理中解放出來,可以專注於代碼本身的邏輯。SeaJS可以與jQuery這類框架完美集成。使用SeaJS可以提高JavaScript代碼的可讀性和清晰度,解決目前JavaScript編程中普遍存在的依賴關系混亂和代碼糾纏等問題,方便代碼的編寫和維護。

Ⅶ 使用seajs後,jquery的擴展怎麼辦

將js插件cmd模塊化(define封裝成seajs模塊,返回匿名函數,包含插件的源碼)。專

閱讀全文

與seajsready相關的資料

熱點內容
使用土地的有關證明文件包含哪些 瀏覽:493
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510
播放草莓的圖片我都文件 瀏覽:55
微信大文件打不開 瀏覽:767
家裝合同准備哪些文件 瀏覽:296
應用bat合並excel文件 瀏覽:984
迅雷影音文件夾 瀏覽:109
makefile的文件路徑 瀏覽:392
計算機程序文件名擴展名為 瀏覽:982
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303

友情鏈接