前端插件@user

分享一个 @user 前端插件

开源地址:https://github.com/yuezhongxin/Mention.js

插件效果:类似于微博或 github 中 @user 列表效果。

这是个二次开发的插件,花了几天时间,对 Mention.js(作者 jakiestfu) 进行了一些改进,主要是下面几个方面:

  • 增加 search 自定义:可以根据输入的 @user-key,进行后台动态查询。
  • 增加 textarea 跟踪焦点:效果是用户列表跟踪在 textarea 输入焦点,而不是在 textarea 底部,主要使用 textarea-caret-position.js 插件(用来获取 textarea 当前焦点坐标)。
  • 增加 under 选项:是否跟踪焦点,默认为 false。
  • 完善 matcher:主要是判断是否要 search,比如 textarea 输入内容,如何进行判断查询并显示结果列表。
  • 增加 simple:去除 bootstrap 的一些样式效果,简单化。
  • 增加 select 值后增加空格。
  • 增加 fixed 选项:是否固定列表,默认为 false。
  • 若干改进。

下面是四种配置和效果展示。

1. 默认效果

配置代码:

<body>
    <textarea id="full"></textarea>

    <link rel="stylesheet" type="text/css" href="../css/mention.css">
    <script src="../scripts/jquery-1.10.2.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention-typeahead.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention.js"></script>
    <script type=‘text/javascript‘ src="../scripts/textarea-caret-position.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#full").mention({
                typeaheadOpts: {
                    search: search
                }
            });
        });

        function search(key) {
            //在这里可以写后台查询代码
            var data = [{
                name: ‘Rob Dyrdek‘,
                image: ‘http://placekitten.com/25/24‘
            }, {
                name: ‘Rick Bahner‘,
                image: ‘http://placekitten.com/25/23‘
            }];
            console.log("key:" + key);
            return data;
        }
    </script>
</body>

2. 列表跟随焦点

配置代码:

<body>
    <textarea id="full"></textarea>

    <link rel="stylesheet" type="text/css" href="../css/mention.css">
    <script src="../scripts/jquery-1.10.2.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention-typeahead.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention.js"></script>
    <script type=‘text/javascript‘ src="../scripts/textarea-caret-position.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#full").mention({
                typeaheadOpts: {
                    search: search,
                    under: true
                }
            });
        });

        function search(key) {
            //在这里可以写后台查询代码
            var data = [{
                name: ‘Rob Dyrdek‘,
                image: ‘http://placekitten.com/25/24‘
            }, {
                name: ‘Rick Bahner‘,
                image: ‘http://placekitten.com/25/23‘
            }];
            console.log("key:" + key);
            return data;
        }
    </script>
</body>

3. 简化风格

配置代码:

<body>
    <textarea id="full"></textarea>

    <link rel="stylesheet" type="text/css" href="../css/mention-simple.css">
    <script src="../scripts/jquery-1.10.2.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention-typeahead.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention.js"></script>
    <script type=‘text/javascript‘ src="../scripts/textarea-caret-position.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#full").mention({
                typeaheadOpts: {
                    search: search,
                    under: true
                }
            });
        });

        function search(key) {
            //在这里可以写后台查询代码
            var data = [{
                name: ‘Rob Dyrdek‘,
                image: ‘http://placekitten.com/25/24‘
            }, {
                name: ‘Rick Bahner‘,
                image: ‘http://placekitten.com/25/23‘
            }];
            console.log("key:" + key);
            return data;
        }
    </script>
</body>

4. 固定列表

配置代码:

<body>
    <textarea id="full"></textarea>

    <link rel="stylesheet" type="text/css" href="../css/mention-simple.css">
    <script src="../scripts/jquery-1.10.2.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention-typeahead.js"></script>
    <script type=‘text/javascript‘ src="../scripts/mention.js"></script>
    <script type=‘text/javascript‘ src="../scripts/textarea-caret-position.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#full").mention({
                typeaheadOpts: {
                    search: search,
                    under: true,
                    fixed: true
                }
            });
        });

        function search(key) {
            //在这里可以写后台查询代码
            var data = [{
                name: ‘Rob Dyrdek‘,
                image: ‘http://placekitten.com/25/24‘
            }, {
                name: ‘Rick Bahner‘,
                image: ‘http://placekitten.com/25/23‘
            }];
            console.log("key:" + key);
            return data;
        }
    </script>
</body>
时间: 2024-12-28 20:18:16

前端插件@user的相关文章

前端插件库【原】 2016-08-21

自己整理的一些质量还可以的前端插件,各种分类的都有,工作中需要用到插件时可以在下面的列表中查找. 1.幻灯片 Camera    a free jQuery slideshow by Pixedelic http://www.pixedelic.com/plugins/camera/ FlexSlider2    An awesome, fully responsive jQuery slider toolkit http://flexslider.woothemes.com/ Flickity

html前端插件 ZenCoding 更名为Emmet

eclipse下的使用方法   http://www.educity.cn/develop/651853.html visualstudio下的使用方式 http://www.johnpapa.net/zen-coding-in-visual-studio-2012/ html前端插件 ZenCoding 更名为Emmet

Django之前端插件定制之表头

什么是插件? 插件只是辅助,是开发过程中的一个阶段.一般项目一期会用各种插件,迅速将功能.界面搭出来,二期时就改成自己的代码了.大点的公司都有自己的js库,自己开发类似jquery的库. 那接下来就写一下关于前端表头的插件 urls.py from django.contrib import admin from django.urls import path from app01 import views from django.contrib.staticfiles.urls import

VScode前端插件推荐

工欲善其事,必先利其器,安利一波前端插件. Chinese (Simplified) Language Pack for Visual Studio CodeVScode汉化插件 Beautify代码自动美化插件 Bracket Pair Colorizer括号有颜色容易区分的插件 vscode-icons文件图标插件 open in browser打开浏览器插件 Prettier代码格式化插件 Quokka是一个调试工具插件,能够根据你正在编写的代码提供实时反馈,方便demo操作 Path I

Chrome 前端 插件

本文内容都来源于偶整理的fetool. 想让更多使用Chrome的小伙伴,体验到这些令人愉悦的小工具,所以单独整理了这篇文章. 如果你是 前端/服务端/设计/面向Github编程/视觉控,相信下列的插件有不少你会用到,期待你能喜欢:) Chrome 应用商店必定是需要FQ的哈. 以下插件都是俺多年积累淘出来的,数量不多,所以就不区分 Github 插件和非 Github 插件了.按照俺推荐的强度自上向下展示,且大多数插件就是偶工作和生活必备,希望能对大家有用.后续如有新发现好插件,偶也会及时更新

前端插件定制--表头和表内容

在前端构造表格的时候往往遇到的情况时写很多的tr和td标签,而且如果需要对数据库进行连接的话就涉及很多的表操作,很容易弄混而且出错,那么应该如何去避免类似情况的发生? 首先我们同样使用之前介绍的Django建立三个数据库,分别为UserInfo,Business和Server.如下代码所示: from django.db import models # Create your models here. class UserInfo(models.Model): name = models.Cha

sublime text3 前端插件介绍

Emmet插件 Emmet插件可以说是使用Sublime Text进行前端开发必不可少的插件 它让编写HTML代码变得极其简单高效 基本用法:输入标签简写形式,然后按Tab键 关于Emmet的更多介绍,请查看官方文档 这份速查表,可以帮你快速记忆简写形式 JsFormat插件 这是一款将JS格式化的插件 同样使用Package Control安装JsFormat插件后 即可在JS文件中通过鼠标右键->JsFormat或键盘快捷键Ctrl+Alt+F对JS进行格式化 SideBarEnhancem

VScode前端插件安利

因为暑假实习是前端,感觉以后做leetcode可能会没什么时间,记录一下平时自己用的一些插件. vscode 插件推荐 HTML Snippets HTML CSS Support vscode-icon Bootstrap 3 Sinnpet 原文地址:https://www.cnblogs.com/WuLiang-cola/p/9216489.html

分享一个 @user 前端插件

开源地址:https://github.com/yuezhongxin/Mention.js 插件效果:类似于微博或 github 中 @user 列表效果. 这是个二次开发的插件,花了几天时间,对 Mention.js(作者 jakiestfu) 进行了一些改进,主要是下面几个方面: 增加 search 自定义:可以根据输入的 @user-key,进行后台动态查询. 增加 textarea 跟踪焦点:效果是用户列表跟踪在 textarea 输入焦点,而不是在 textarea 底部,主要使用