jQuery自定義標籤程式碼例項

antzone發表於2017-04-18

分享一段程式碼例項,它實現了自定義標籤的功能。

在文字框輸入內容,然後點選回車就會自動生成一個標籤。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
body {
  background: #fff !important;
  font-family: microsoft yahei,arial;
  color: #555;
}
.form_control {
  margin: 40px;
  width: 600px;
  border: 1px solid #ccc;
  padding: 5px;
  overflow: hidden;
}
.token {
  display: inline-block;
  border: 1px solid #d9d9d9;
  background-color: #ededed;
  padding: 2px;
  margin-right: 4px;
}
.close {
  padding-left: 5px;
  font-size: 16px;
  line-height: 20px;
  color: #666;
  text-decoration: none;
  opacity: 0.2;
}
.close:hover {
  opacity: 0.8;
  text-shadow: 0 1px 0 #fff;
  font-size: 18px;
}
.token:hover {
  box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
.token_input {
  width: 220px;
  height: 24px;
  border: 0;
  outline: none;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
  document.onkeydown = function (event) {
    var e = event || window.event || arguments.callee.caller.arguments[0];
    $text = $(".token_input").val();
    var $size = $(".token").size();
    if (e && e.keyCode == 13 & $text != "") {
      tag();
      if ($size == 5) {
        alert("最多輸入5個標籤");
      }
    };
  };
 
  //新增新標籤函式
  function tag() {
    var $size = $(".token").size();
    $input = $(".token_input");
    if ($size < 5) {
      var $text = $input.val();
      var $val = "<div class='token'><span class='token_label'>"
        + $text + "</span><a href='javascript:void()' class='close'>x</a></div>"
      $input.before($val);
      $(".token_input").val("");
    }
  };
  //關閉按鈕;
  $(".form_control").on('click', '.close', function bb() {
    $(this).parent().remove();
  });
});
</script>
</head>
<body>
  <div class="form_control">
    <input class="token_input" placeholder="最多輸入5個標籤,按Enter鍵確定">
  </div>
</body>
</html>

相關文章