1.先上效果圖
2、呼叫方式
<link href="/Styles/tagsinput.css" rel="external nofollow" rel="stylesheet" type="text/css" /> <script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script src="/Scripts/jquery.tagsinput.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#txtTags").TagsInput({ usedTags: "css|js|jquery|html|C#|.net|web", hotTags: "hotTag1|hotTag2|hotTag3|hotTag4", tagNum: 10, maxWords: 10 }); }); </script>
html頁面呼叫
<input type="text" value="逗号|分号|空格|Tab|回车键" name="txtTags" id="txtTags" />
3、tagsinput.css樣式
.clearfix:after { clear: both; content: " "; display: block; height: 0; } .tags-wrapper { width: 500px; position:relative; } #addTagWrap { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #D9D9D9; padding: 0 5px; } #addTagWrap .inner-tag-wrapper,.layer-tag-name { background: none repeat scroll 0 0 #40A8CD; border-radius: 3px; color: #FFFFFF; float: left; height: 26px; line-height: 26px; margin: 4px 6px 0 0; padding: 0 5px 0 10px; white-space: nowrap; } #addTagWrap .inner-tag-close { color: #A0D4E6; font-family: "宋体" ,sans-serif; margin-left: 4px; text-decoration: none; } #tagInput { background: none repeat scroll 0 0 #FFFFFF; border: medium none; margin: 0; height: 24px; line-height: 24px; overflow: hidden; padding: 5px; width: 215px; } #tagInput:focus{ outline:none } .layer-tags-wrapper { border: 1px solid #DADADA; border-top:0; overflow: auto; position:absolute; left:0; right:0; display:none; background: none repeat scroll 0 0 #FFFFFF; } .layer-tags-wrapper .layer-tags-box { padding: 0 5px; } .layer-tags-wrapper .layer-tags-left { float: left; text-align: center; padding-right: 5px; margin-top: 4px; height: 26px; line-height: 26px; } .layer-tags-wrapper .layer-tags-right { overflow: auto; } .layer-tags-wrapper .layer-tag-name { padding-right: 10px; text-decoration: none; } .layer-tags-foot { height: 30px; line-height: 30px; color: #999999; padding-left:5px; } .layer-tags-foot-top { margin-top:5px; border-top:1px dotted #C9C9C9; } .message-box { background: none repeat scroll 0 0 rgba(0, 0, 0, 0.35); color: #FFFFFF; width: 300px; min-height: 50px; line-height: 50px; top: 50%; left: 50%; margin-top: -50px; /*注意这里必须是DIV高度的一半*/ margin-left: -150px; /*这里是DIV宽度的一半*/ position: fixed !important; /*FF IE7*/ position: absolute; /*IE6*/ z-index: 999; text-align: center; border-radius: 5px; }
4、jquery.tagsinput.js
/*仿百度标签输入v0.1 * @name jquery.tagsinput.js * @version 0.1 * @author liping * @date 2014/06/10 * @Email:272323108@qq.com */ (function ($) { $.fn.TagsInput = function (options) { //默认参数 var defaults = { usedTags: "", hotTags: "", tagNum: 0, maxWords: 0 }; //用传入参数覆盖了默认值 var opts = $.extend(defaults, options); //对象 var $this = $(this); $this.hide(); var arrayTags; var strHtml; strHtml = "<div class=\"tags-wrapper clearfix\">"; strHtml += "<div id=\"addTagWrap\" ><div class=\"added-tags-wrapper\"></div>"; strHtml += "<input id=\"tagInput\" type=\"text\" placeholder=\"添加标签,以逗号、分号或空格隔开\" autocomplete=\"off\">"; strHtml += "</div><div class=\"layer-tags-wrapper\">"; if (opts.usedTags != "") { strHtml += "<div class=\"clearfix layer-tags-box\"><div class=\"layer-tags-left\">记忆标签</div><div class=\"layer-tags-right\">"; arrayTags = opts.usedTags.split('|'); for (i = 0; i < arrayTags.length; i++) { strHtml += "<a class=\"layer-tag-name\" href=\"javascript:;\">" + arrayTags[i] + "</a>"; } strHtml += "</div></div>"; } if (opts.hotTags != "") { strHtml += "<div class=\"clearfix layer-tags-box\"><div class=\"layer-tags-left\">热门标签</div><div class=\"layer-tags-right\">"; arrayTags = opts.hotTags.split('|'); for (i = 0; i < arrayTags.length; i++) { strHtml += "<a class=\"layer-tag-name\" href=\"javascript:;\">" + arrayTags[i] + "</a>"; } strHtml += "</div></div>"; } if (opts.tagNum != 0 && opts.maxWords != 0) { strHtml += "<div class=\"layer-tags-foot clearfix \">最多可添加" + opts.tagNum + "个标签,每个标签不超过" + opts.maxWords + "个汉字</div>"; } else if (opts.tagNum != 0 && opts.maxWords == 0) { strHtml += "<div class=\"layer-tags-foot clearfix \">最多可添加" + opts.tagNum + "个标签</div>"; } else if (opts.tagNum == 0 && opts.maxWords != 0) { strHtml += "<div class=\"layer-tags-foot clearfix \">每个标签不超过" + opts.maxWords + "个汉字</div>"; } else { strHtml += "<div class=\"layer-tags-foot clearfix \">标签个数最好少于10个,每个标签最好不超过10个汉字</div>"; } strHtml += "</div></div>"; $(strHtml).insertAfter($this); if ($(".layer-tag-name").length > 0) { $(".layer-tags-foot").addClass("layer-tags-foot-top"); } var inputTags = $this.val(); arrayTags = inputTags.split('|'); for (i = 0; i < arrayTags.length; i++) { addTag(arrayTags[i]); } $(".layer-tag-name").each(function () { $(this).click(function () { addTag($(this).text()); }); }); $("#tagInput").keydown(function (e) { var keyCode = e.which || e.keyCode; if (keyCode == 13 || keyCode == 32 || keyCode == 9) { if (addTag($(this).val())) { $(this).val(""); } return false; } }).keyup(function (e) { var keyCode = e.which || e.keyCode; if (keyCode == 188 || keyCode == 59) { if (addTag($(this).val())) { $(this).val(""); } return false; } }).click(function () { $(".layer-tags-wrapper").show(); }).blur(function () { if (addTag($(this).val())) { $(this).val(""); } return false; }); $(".tags-wrapper").mouseleave(function () { $(".layer-tags-wrapper").hide(); }); function addTag(obj) { obj = obj.replace(/[ |,|,|;|;]/g, ""); if (obj == "") { return false; } //只统计汉字字数 var num = 0; var arr = obj.match(/[^\x00-\xff]/g); if (arr != null) { num = arr.length; if (opts.maxWords > 0 && num > opts.maxWords) { MessageBox("单个标签最多" + opts.maxWords + "个汉字"); return false; } num = 0; } var tags = $("#addTagWrap .inner-tag-name"); var flag = true; var s = ""; tags.each(function () { if ($(this).text() == obj) { flag = false; return false; } num++; s += $(this).text() + "|"; }); if (opts.tagNum > 0 && num >= opts.tagNum) { MessageBox("最多可添加" + opts.tagNum + "个标签"); return false; } if (flag) { $(".added-tags-wrapper").append("<div class=\"inner-tag-wrapper\"><span class=\"inner-tag-name\">" + obj + "</span><a class=\"inner-tag-close\" title=\"删除\" href=\"javascript:;\">×</a></div>"); $(".added-tags-wrapper .inner-tag-close:last").click(function () { $(this).parent().remove(); }); s += obj + "|"; if (s.length > 0) { s = s.substring(0, s.length - 1); $this.val(s); } return true; } else { MessageBox("该标签已经存在"); return false; } } function MessageBox(obj) { $("<div class=\"message-box\">" + obj + "</div>").appendTo("body"); $(".message-box").delay(1000).fadeOut("slow", function () { $(this).remove(); }); } }; })(jQuery);

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器