如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
問題描述:在頁面選擇關鍵詞時,需要將關鍵詞元素綁定點擊事件使同一類型的關鍵詞只有一個固定class,使其隨點擊更換,目的是為了讓這一類型的關鍵詞的值可以由class獲取。在原本寫死的關鍵詞上綁定的事件是可用的,但是換成動態加載后發現只能適用于寫死的情況。很無奈,在網上搜索一番后花了點時間終于解決了,下面奉上。
參考文章:https://blog.csdn.net/qq_35129893/article/details/78363211?locationNum=2&fps=1
原本綁定事件如下:
針對的HTML元素如下:
但是發現,原先的事件不能用于動態加載的元素,如上面加載的,加載形式如下:
無奈,只能上網尋求萬能的大神了。
基本上提供的解決方案就兩個,使用
或者
我先是使用.live嘗試了下,發現gg,心灰意冷ing;本著試一試不要錢的心態又用.on試了下,結果令人驚喜??!可以使用了,哎,這鬼玩意坑死人。
下面上針對我加載的界面元素寫的綁定事件:
$('element').live('click',function(){})
$('父元素').on('click', '子元素', function(){})
1.什么是懶加載?
當訪問一個頁面的時候,先把img元素背景圖片路徑替換成一張替代圖片的路徑(這樣就只需請求一次,占位圖),將圖片的真實路徑存儲在img自定義屬性中,只有當圖片出現在瀏覽器的可視區域內時,才設置圖片正真的路徑,讓圖片顯示出來。這就是圖片懶加載。
2.為什么要用懶加載?
很多頁面,內容很豐富,頁面很長,圖片較多。比如說各種商城頁面。這些頁面圖片數量多,而且比較大,少說百來K,多則上兆。要是頁面載入就一次性加載完畢,提高首屏加載速度,可以減輕服務器壓力,節約流量,用戶體驗好。
3.懶加載實現封裝?
lazyLoad由四個函數組成,init(初始化函數),checkShow(判斷圖片是否加載),shouldShow(將要展示的圖片),showImg(展示圖片)。
(1)初始化函數(init) 由于滾動事件太消耗性能,所以用定時器替換,不是滾動就觸發,而是滾動后200毫秒后觸發。
var timer;
function init(){
$(window).on("scroll",function(){
if(timer){
clearTimeout(timer);
}
timer = setTimeout(function(){
checkShow(); //
},200);
});
}
(2)判斷”圖片是否加載“(checkshow)函數,如果圖片有isload屬性,就說明圖片已經加載過了,直接return。如果圖片沒有isload屬性,進入將要展示圖片shouldshow函數
function checkShow(){
$lazyLoad.each(function(){
$cur = $(this);
if($cur.attr('isLoaded')){
return;
}
if(shouldShow($cur)){
showImg($cur);
}
});
}
(3)將要展示圖片shouldshow函數,獲取屏幕可視寬度,滾動高度,要展示的元素到文檔的高度,如果元素到文檔的高度小于屏幕的可視高度加上滾動高度,說明元素已在可視區內,返回true,否則返回false。
function shouldShow ($node){
var scrollH = $(window).scrollTop(),
windowH = $(window).height(),
top = $node.offset().top;
if(top < windowH + scrollH){
return true;
} else {
return false;
}
}
(4)“展示圖片”函數,將元素的src屬性替換為自定義屬性data-src(真正圖片的地址)。
function showImg ($node){
$node.find("img").attr("src",$node.data("src"));
$node.attr("isLoaded",true);
}
(5)函數返回一個對象
return {
init : init
}
這樣就實現懶加載封裝了!
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
1.把wxParse文件全部放入項目。
2.在wxml中import wxParse.wxml,并把template插入到到對應的位置上
3.在wxss中import wxParse.wxss,并設置樣式;比如‘wxParse-image’是富文本圖片轉化成image組件之后的類名,‘wxParse-p’是p標簽轉化成view組件后設置的類名
4.js
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
(offsetTop同理)
offsetWidth(和offsetHeight):
其實就是一個元素的實際寬度 = width+padding+border
【client家族】
clientWidth (和clientHeight) = width+padding
該屬性指的是元素的可視部分寬度和高度
假如元素有padding有滾動,且滾動是顯示的
clientWidth = width + padding - 滾動軸寬度
clientTop(和clientLeft):
這一對屬性是用來讀取元素的border的寬度和高度的
clientTop = border-top 的 border-width
clientLeft = border-left 的 border-width
【scroll家族】
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
[HTML]代碼
[C#后臺]
<html>
<head>
<title>二維碼掃描測試</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<style type="text/css">
html, body {
height: 100%;
width: 100%;
text-align: center;
}
</style>
<script src="../js/jquery-1.11.1.min.js"></script>
<script>
//這段代 主要是獲取攝像頭的視頻流并顯示在Video 簽中
var canvas = null, context = null, video = null;
window.addEventListener("DOMContentLoaded", function () {
try {
canvas = document.getElementById("canvas");
context = canvas.getContext("2d");
video = document.getElementById("video");
flag = true,
MediaErr = function (error) {
flag = false;
if (error.PERMISSION_DENIED) {
alert('用戶拒絕了瀏覽器請求媒體的權限', '提示');
} else if (error.NOT_SUPPORTED_ERROR) {
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器', '提示');
} else if (error.MANDATORY_UNSATISFIED_ERROR) {
alert('指定的媒體類型未接收到媒體流', '提示');
} else {
alert('系統未能獲取到攝像頭,請確保攝像頭已正確安裝?;驀L試刷新頁面,重試', '提示');
}
};
//獲取媒體的兼容代碼,目前只支持(Firefox,Chrome,Opera)
if (navigator.getUserMedia) {
//qq瀏覽器不支持
if (navigator.userAgent.indexOf('MQQBrowser') > -1) {
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器', '提示');
return false;
}
navigator.getUserMedia(videoObj, function (stream) {
video.src = stream;
video.play();
}, MediaErr);
}
else if (navigator.webkitGetUserMedia) {
navigator.webkitGetUserMedia(videoObj, function (stream) {
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, MediaErr);
}
else if (navigator.mozGetUserMedia) {
navigator.mozGetUserMedia(videoObj, function (stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
}, MediaErr);
}
else if (navigator.msGetUserMedia) {
navigator.msGetUserMedia(videoObj, function (stream) {
$(document).scrollTop($(window).height());
video.src = window.URL.createObjectURL(stream);
video.play();
}, MediaErr);
} else {
alert('對不起,您的瀏覽器不支持拍照功能,請使用其他瀏覽器');
return false;
}
if (flag) {
//alert('為了獲得更準確的測試結果,請盡量將二維碼置于框中,然后進行拍攝、掃描。 請確保瀏覽器有權限使用攝像功能');
}
//這個是拍照按鈕的事件,
$("#snap").click(function () { startPat(); }).show();
} catch (e) {
printHtml("瀏覽器不支持HTML5 CANVAS");
}
}, false);
function printHtml(content) {
$(window.document.body).append(content + "<br/>");
}
//開始拍照
function startPat() {
setTimeout(function () {//防止調用過快
if (context) {
context.drawImage(video, 0, 0, 320, 320);
CatchCode();
}
}, 200);
}
//抓屏獲取圖像流,并上傳到服務器
function CatchCode() {
if (canvas != null) {
//以下開始編 數據
var imgData = canvas.toDataURL("image/jpeg");
//將圖像轉換為base64數據
var base64Data = imgData; //在前端截取22位之后的字符串作為圖像數據
type: 'post',
url: '../ashx/HandlerScan.ashx?method=ParseImage',
data: 'ImgData=' + base64Data,
dataType: "json",
cache: false,
timeout: 10000,
success: function (mes) {
if (mes.code == '1') {
alert('未識別二維碼,請重新掃描!');
}
else {
alert(mes.name);
}
},
error: function (err) {
alert('掃描失敗' + err);
}
});
}
}
</script>
<body>
<div id="support"></div>
<div id="contentHolder">
<video id="video" width="320" height="320" autoplay></video>
<canvas id="canvas" style="display:none; background-color:#F00;" width="320" height="320"></canvas><br/>
<button id="snap" style="display:none; height:50px; width:120px;">開始掃描</button>
</div>
</body>
</html>
{
private JsonResult js = new JsonResult();
public void ProcessRequest(HttpContext context)
{
string result = string.Empty;
string method = context.Request.QueryString.ToString();//獲取想要做的操作
switch (method)
{
case "method=ParseImage":
result = ParseImage(context);
break;
default:
break;
}
context.Response.ContentType = "text/json";
context.Response.Write(result);
}
{
try
{
string imgStr = context.Request.Params["ImgData"].ToString();
imgStr = imgStr.Replace("data:image/jpeg;base64,", "");
//整理字符串
imgStr = imgStr.Replace(" ", "+");
byte[] arr = Convert.FromBase64String(imgStr);
MemoryStream ms = new MemoryStream(arr, 0, arr.Length);
Bitmap bmp = new Bitmap(ms);
//解析圖片
Result result = new BarcodeReader().Decode(bmp);
if(result == null)
{
return "{\"code\":1,\"name\":\"\"}";
}
else
{
string[] a = result.Text.Split(',');
string str = "{\"code\":0,\"name\":\"" + a[0] + "\"}";
return str;
}
}
catch (Exception ex)
{
return "{\"code\":1,\"msg\":\"" + ex.Message + "\",\"userName\":\"\"}";
}
}
{
get
{
return false;
}
}
}
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
1.把wxParse文件全部放入項目。
2.在wxml中import wxParse.wxml,并把template插入到到對應的位置上
3.在wxss中import wxParse.wxss,并設置樣式;比如‘wxParse-image’是富文本圖片轉化成image組件之后的類名,‘wxParse-p’是p標簽轉化成view組件后設置的類名
4.js
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
微信小程序學習參考demo源碼集合,僅供參考學習用途?。?!
面對面翻譯 微信小程序源碼下載,語音翻譯類小程序工具http://www.henkuai.com/thread-37499-1-1.html
開源微信小程序,小團隊管理小程序下載 :http://www.henkuai.com/thread-37498-1-1.html
微信小程序多用戶商城demo,還在開發中:http://www.henkuai.com/thread-37497-1-1.html
微信小程序搶課列表demo :http://www.henkuai.com/thread-37496-1-1.html
微信小程序地圖實時顯示demo:http://www.henkuai.com/thread-37495-1-1.html
購房搖號助手微信小程序下載:http://www.henkuai.com/thread-37471-1-1.html
使用微信小程序map組件開發的一個demo,各種坑:http://www.henkuai.com/thread-37400-1-1.html
微信小游戲2048源碼下載,經典的小游戲:http://www.henkuai.com/thread-37399-1-1.html
微信小程序-菜譜百科,小程序開發學習demo :http://www.henkuai.com/thread-37380-1-1.html
鮮切水果微信小程序,水果商城小程序:http://www.henkuai.com/thread-37379-1-1.html
微信小程序線上圖書館前端+后端源碼下載,圖書查詢小程序 :http://www.henkuai.com/thread-37378-1-1.html
微信小程序日歷打卡項目下載,輕巧好用的日歷打卡組件:http://www.henkuai.com/thread-37367-1-1.html
微信小程序練手項目,包含抽屜效果、底部tab效果實現等:http://www.henkuai.com/thread-37365-1-1.html
【獨立小程序】志匯餐飲8.6 小程序前端修復版本:http://www.henkuai.com/thread-37344-1-1.html
仿今日頭條3.0 小程序前端 demo分享:http://www.henkuai.com/thread-37338-1-1.html
微信小程序真心話大冒險游戲,朋友聚會必備小程序:http://www.henkuai.com/thread-37337-1-1.html
微信小游戲頭腦王者自動答題輔助插件,小游戲作弊工具:http://www.henkuai.com/thread-37336-1-1.html
微信小程序左滑操作自定義組件,讓你的小程序開發更:http://www.henkuai.com/thread-37334-1-1.html
接龍微信小程序腳本,創建房間等等:http://www.henkuai.com/thread-37469-1-1.html
微信小程序統一中央服務器的思路,校園小情書聯盟:http://www.henkuai.com/thread-37468-1-1.html
輔導員預約微信小程序:http://www.henkuai.com/thread-37467-1-1.html
仿星巴克用心說微信小程序:http://www.henkuai.com/thread-37466-1-1.html
微信小程序頂部滑動導航菜單欄:http://www.henkuai.com/thread-37465-1-1.html
微信小程序朋友圈點贊功能,讓你的朋友圈秀起來:http://www.henkuai.com/thread-37464-1-1.html
微信小程序版 “前端TOP100”:http://www.henkuai.com/thread-37463-1-1.html
微信小程序3D輪播圖效果示例:http://www.henkuai.com/thread-37459-1-1.html
微信小程序仿滴滴打車小程序源碼下載,歡迎加入開發:http://www.henkuai.com/thread-37458-1-1.html
微信小程序仿青桔單車,打開地圖掃碼開鎖:http://www.henkuai.com/thread-37436-1-1.html
微信小程序投票器,投票小程序源碼:http://www.henkuai.com/thread-37434-1-1.html
微信小程序時間軸源碼,記錄中國LGBT事件:http://www.henkuai.com/thread-37433-1-1.html
微信小程序api攔截器,完美兼容原生小程序項目:http://www.henkuai.com/thread-37431-1-1.html
微信小程序使用map組件實現多點定位顯示:http://www.henkuai.com/thread-37421-1-1.html
微信小程序商城前端,展示嬰幼兒商品: http://www.henkuai.com/thread-37418-1-1.html
答題小程序免費送,有人用這個“小程序”每天做100000:http://www.henkuai.com/thread-37412-1-1.html
總結了工作中可能經常會用到的各類正則表達式的寫法。
方便以后進行查找,減少工作量。
1. 校驗基本日期格式
var reg1 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;
var reg2 = /^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$/;
2. 校驗密碼強度
密碼的強度必須是包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間。
var reg = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/;
3. 校驗中文
字符串僅能是中文。
var reg = /^[\\u4e00-\\u9fa5]{0,}$/; 4. 由數字、26個英文字母或下劃線組成的字符串 var reg = /^\\w+$/; 5. 校驗E-Mail 地址
同密碼一樣,下面是E-mail地址合規性的正則檢查語句。 var reg = /[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?/; 6. 校驗身份證號碼
下面是身份證號碼的正則校驗。15 或 18位。
15位: var reg = /^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$/; 18位: var reg = /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$/; 7. 校驗日期
“yyyy-mm-dd” 格式的日期校驗,已考慮平閏年。 var reg = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; 8. 校驗金額
金額校驗,到2位小數。 var reg = /^[0-9]+(.[0-9]{2})?$/; 9. 校驗手機號
下面是國內 13、15、18開頭的手機號正則表達式。(可根據目前國內收集號擴展前兩位開頭號碼) var reg = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$/; 10. 判斷IE的版本
IE目前還沒被完全取代,很多頁面還是需要做版本兼容,下面是IE版本檢查的表達式。
var reg = /^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\\/[5-9]\\.0).*$/;
11. 校驗IP-v4地址
var reg = /\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b/;
12. 校驗IP-v6地址
var reg = /(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/;
13. 檢查URL的前綴
應用開發中很多時候需要區分請求是HTTPS還是HTTP,通過下面的表達式可以取出一個url的前綴然后再邏輯判斷。
if (!s.match(
/^[a-zA-Z]+:\/\//
)) {
s =
'http://' +
s;
}
14. 提取URL鏈接
下面的這個表達式可以篩選出一段文本中的URL。
var reg = /^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/; 15. 文件路徑及擴展名校驗
驗證 windows下文件路徑和擴展名(下面的例子中為.txt文件)
var reg = /^([a-zA-Z]\\:|\\\\)\\\\([^\\]+\\)*[^\\/:*?"<>|]+\\.txt(l)?$/; 16. 提取Color Hex Codes
有時需要抽取網頁中的顏色代碼,可以使用下面的表達式。
var reg = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/; 17. 提取網頁圖片
假若你想提取網頁中所有圖片信息,可以利用下面的表達式。
var reg = /\\< *[img][^\\>]*[src] *= *[\\"\']{0,1}([^\\"\'\ >]*)/; 18. 提取頁面超鏈接
提取html中的超鏈接。
var reg = /(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\/\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>/;
19. 查找CSS屬性
通過下面的表達式,可以搜索到相匹配的CSS屬性。
var reg = /^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}/;
20. 抽取注釋
如果你需要移除HMTL中的注釋,可以使用如下的表達式。
var reg = /<!--(.*?)-->/;
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
jQuery提供了JS未能提供的動畫效果,利用jQuery的動畫效果,可以極大的簡化JS動畫部分的邏輯
滑入動畫
定義:以下拉方式動畫效果將html內容顯示出來
使用方式:
$(selector).slideDown(time,function)
time代表執行動畫的時間,function代表動畫執行完之后所要執行的函數
滑出動畫
定義:以上滑方式動畫效果將html內容隱藏出來
使用方式:
$(selector).slideUp(time,function)
time代表執行動畫的時間,function代表動畫執行完之后所要執行的函數
滑入滑出切換動畫
定義:在滑入滑出動畫間切換
使用方式:
$(selector).slideToggle(time,function)
淡入動畫
作用:讓元素以淡淡的進入視線的方式展現出來
使用方式
$(selector).fadeIn(time,function)
淡出動畫
作用:讓元素以淡淡的離開視線的方式隱藏起來
使用方式
$(selector).fadeOut(time,function)
淡入淡出切換動畫
作用:讓元素在淡入淡出動畫切換
使用方式
$(Selector).fadeToggle(time,function)
修改opacity
作用: 修改opacity的值
使用方式
$(Selector).fadeTo(time,opacity,function)
顯示動畫
作用: 將Html結構顯現出來
使用方式
$(Selector).show(time,function)
隱藏動畫
作用: 將Html結構隱藏起來
使用方式
$(Selector).hide(time,function)
定義:停止正在執行的動畫
使用方式:
$(selector).stop()
作用:執行一組CSS屬性的自定義動畫
使用方式:
$(selector).animate({CSS定義},time,function())
背景
滑入滑出動畫
$(selector).slideDown(2000)
$(selector).slideDown()
$(selector).slideDown(fast/normal/slow)
$(selector).slideUp(2000)
$(selector).slideUp()
$(selector).slideUp(fast/normal/slow)
$(selector).slideToggle(2000)
$(selector).slideToggle()
$(selector).slideToggle(fast/normal/slow)
淡入淡出動畫
$(selector).fadeIn(2000)
$(selector).fadeIn()
$(selector).fadeIn(fast/normal/slow)
$(selector).fadeOut(2000)
$(selector).fadeOut()
$(selector).fadeOut(fast/normal/slow)
$(selector).fadeToggle(2000)
$(selector).fadeToggle()
$(selector).fadeToggle(fast/normal/slow)
time可以是字符串,可以是具體數字
也可只有參數一、參數二
顯示隱藏動畫
$(selector).show(2000)
$(selector).show()
$(selector).show(fast/normal/slow)
$(selector).hide(2000)
$(selector).hide()
$(selector).hide(fast/normal/slow)
停止動畫
stop()中可以有兩個參數,參數一:后續動畫是否執行,參數二:當前動畫是否執行完畢,默認的是(false,false),注意第一個參數,true代表的是后續動畫不執行
————————————————————————————
第一種:(false,false)
后續動畫會執行,當前動畫不會執行完
第二種:(false,true)
后續動畫會執行,當前動畫會執行完
第三種:(true,false)
后續動畫不會執行,當前動畫不會執行完
第四種:(true,true)
后續動畫不會執行,當前動畫會執行完
自定義動畫
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
JavaScript
$("#select2").on("select2:open", function (e) { log("select2:open", e); });
$("#select2").on("select2:close", function (e) { log("select2:close", e); });
$("#select2").on("select2:select", function (e) { log("select2:select", e); });
$("#select2").on("select2:unselect", function (e) { log("select2:unselect", e); });
$("#select2").on("change", function (e) { log("change"); });
【select2的其他組件】
<div class="box1 div">
<p>多選下拉框</p>
<select id="sel_menu1" multiple="multiple" class="form-control">
<optgroup label="系統設置">
<option value="1">用戶管理</option>
<option value="2">角色管理</option>
<option value="3">部門管理</option>
<option value="4">菜單管理</option>
</optgroup>
<optgroup label="訂單管理">
<option value="5">訂單查詢</option>
<option value="6">訂單導入</option>
<option value="7">訂單刪除</option>
<option value="8">訂單撤銷</option>
</optgroup>
<optgroup label="基礎數據">
<option value="9">基礎數據維護</option>
</optgroup>
</select>
</div>
JS代碼
$("#sel_menu1").select2({[/align]
tags: true,
maximumSelectionLength: 3 //最多能夠選擇的個數
});
代碼
Html代碼
<div class="box2 div">
<p>圖文結合的效果</p>
<select id="sel_menu2" class="js-example-templating js-states form-control">
<optgroup label="系統設置">
<option value="1">用戶管理</option>
<option value="2">角色管理</option>
<option value="1">部門管理</option>
<option value="1">菜單管理</option>
</optgroup>
<optgroup label="訂單管理">
<option value="1">訂單查詢</option>
<option value="1">訂單導入</option>
<option value="1">訂單刪除</option>
<option value="1">訂單撤銷</option>
</optgroup>
<optgroup label="基礎數據">
<option value="1">基礎數據維護</option>
</optgroup>
</select>
</div>
JS代碼
$("#sel_menu2").select2({
templateResult: formatState,
templateSelection: formatState
});
function formatState(state) {
if (!state.id) {
return state.text;
}
var $state = $('<span><img src="./image/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>'
);
return $state;
};
藍藍設計的小編 http://www.syprn.cn