添加 JQuery 引用中断标记输入

Adding JQuery Reference breaks tags input

我正在使用一个带有漂亮标签输入的模板,但我现在希望能够计算字数并根据特定条件限制字数,然而,这是我唯一的方法发现这样做是通过使用特定文本框的 keyup,但要做到这一点,我需要参考 JQuery,但它会破坏我的标签输入。以下是我目前拥有的:

@Html.TextBoxFor(model => model.EmploymentSkills, new { @id = "tags", @class = "form-control tagsinput", @type = "text", @placeholder = "Add skill and press enter", data_role = "tagsinput" })

<script src="~/SmartAdmin/scripts/plugin/bootstrap-tags/bootstrap-tagsinput.min.js"></script>

有没有一种方法可以在不引用 JQuery 的情况下执行此操作,或者能够引用它而不破坏我的标签输入?

data_role属性有什么特别之处吗?只要我记得,如果使用 XPath,就应该将所有属性放在 @ 中。尝试将 data_role = 'tagsinput' 替换为 @data-role = 'tagsinput'。也许这是导致问题的原因。

所以我找到了解决办法。如上所述,.keyup 或 .keydown 不起作用,所以我开始使用 .change。这是我用的函数,也是统计字数,限制字数:

$(文档).ready(函数(){

    $(".tagsinput").change(function (e) {
        var value = $(this).val().replace(" ", "");
        var words = value.split(",");

        if (words.length > '@Model.TagsAllowed') {
            alert("You are not allowed more than '@Model.TagsAllowed' tags!");

            var lastword = value.split(",").pop();
            value = value.replace(',' + lastword, '');
            $(this).val(value);
            $('.tagsinput').val() = value.substring(0, value.length - lastword.length);
        }
    });
})

希望这对沿线的其他人有所帮助。