idno / mentionjs

已知的 mention.js 废弃品采用情况

维护者

详细信息

github.com/idno/mentionjs

源代码

安装次数: 8,465

依赖项: 1

建议者: 0

安全性: 0

星标: 2

关注者: 3

分支: 144

语言:JavaScript

1.0.0 2019-11-03 12:53 UTC

This package is auto-updated.

Last update: 2024-08-29 05:07:11 UTC


README

轻量级(最小:1.92kb,完整:4.07kb)包装器,用于将@用户提及功能添加到Twitter Bootstraps Typeahead插件。

这使得您可以在文本区域中拥有类似Twitter的用户提及

在此处查看演示 这里

依赖项

用法

users 参数接受一个对象数组。每个对象 必须 有一个 username 键,以便此脚本正常工作。

$("#multi-users").mention({
    delimiter: '@',
    users: [{
        username: "ashley"
    }, { 
        username: "roger"
    }, { 
        username: "frecklefart123"
    }]
});

敏感性

$("#multi-users").mention({
    sensitive: true,
    users: [{
        username: "sarah"
    }, { 
        username: "bigRat"
    }, { 
        username: "roger"
    }, { 
        username: "Ricky"
    }]
});

将敏感性设置为 true 时,项目将按以下优先级顺序排序

  • 最高:如果第一个字母完全匹配
  • 高:如果第一个字母匹配(不考虑大小写)
  • 中:如果目标具有匹配字母的大小写
  • 低:如果目标具有匹配的字符(不考虑大小写)

敏感性示例

如果您要查询 "@r",并启用敏感性,则结果列表将为 ["roger", "Ricky", "sarah", "bigRat"],但如果您要查询 "@R",则结果列表将为 ["Ricky", "roger", "bigRat", "sarah"]

全名、图像和查询方式

如果您在用户对象中有一个 name 和/或 image 键,则该名称和图像将按如下方式显示在下拉列表中。

queryBy 参数接受一个字符串数组,表示您想要查询的用户对象中的键。例如,如果您输入 name "@Scott",则脚本将匹配 username "@bigCat"。username 是此脚本正常工作的必要条件。

$("#multi-users").mention({
    queryBy: ['name', 'username'],
    users: [{
        username: "sarah",
        name: "Sarah Jones",
        image: "http://placekitten.com/25/25"
    }, { 
        username: "bigCat",
        name: "Scott Pfaff",
        image: "http://placekitten.com/25/25"
    }, { 
        username: "coderDude",
        name: "Roger Penn",
        image: "http://placekitten.com/25/25"
    }]
});

空查询

您可以通过按分隔符来查询用户。例如,按下 @ 符号将返回所有属于您用户列表的用户,只要这些用户符合 typeaheadOpts.items 限制。

$('#multi-users').mention({
    emptyQuery: true,
    typeaheadOpts: {
        items: 10 // Max number of items you want to show
    },
    users: [...]
});

默认值

$("#multi-users").mention({
    users: [], // Array of Objects
    delimiter: '@', // Username Delimiter
    sensitive : true,
    queryBy: ['name', 'username'],
    typeaheadOpts: { // Settings for Typeahead
        matcher: _matcher, // Mention.js's custom matcher function, don't change
        updater: _updater, // Mention.js's custom updater function, don't change
        sorter: _sorter, // Mention.js's custom sorter function, don't change
    }
});
 

许可协议

(MIT许可协议)

版权所有 (c) 2013 Jacob Kelley

在此协议下,免费允许任何获得本软件及其相关文档副本(“软件”)的人,在不受限制的情况下处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供者提供的人这样做,前提是以下条件:

上述版权声明和本许可声明应包含在所有副本或软件的主要部分中。

软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是合同责任、侵权责任或其他责任,无论这些责任是否源于、源于或与软件或软件的使用或其他方式有关。