标签编辑器 - $(..).jsonTagEditor 不是一个函数



我只是尝试实现json标签编辑器来创建标签编辑器。我想在一个更大的 laravel 项目中实现它。因此,我包含了jQuery,以及json标签编辑器中的js和css文件。一切都加载正常,我在网络选项卡下找到了。

现在我有:

输入元素:

<input id="keywords" class="form-control" name="keywords"
                                           autofocus></div>

在页面顶部,我有:

$().ready(function(){          
     $('#keywords').jsonTagEditor();
});

但是我收到一个错误说 Uncaught TypeError: $(...).jsonTagEditor is not a function......

正如

我所说,文件已加载,正如我在网络选项卡中看到的那样......

知道问题可能是什么吗?

再次澄清一切,我

使用的是 laravel,因此这些文件都包含在主布局文件中,我正在尝试在扩展此主模板的文档中使用它。但是不应该改变任何东西,因为我已经在使用其他一些以这种方式正常工作的插件。

有什么想法吗?

经过聊天中的一些讨论,问题原来是怀疑重新导入和重新初始化jQuery。Laravel框架有自己的jQuery导入,通过require()发生,这是在导入有问题的插件之后发生的事情。

将插件导入移动到<body>的末尾可以解决此问题,但除此之外,该插件(截至撰写本文时(存在错误,必须使用传入的空对象(或可能的任何其他值(进行初始化:

$("#keywords").jsonTagEditor({});

您缺少document,只是为了确保该元素是可访问的,请将脚本放在结束'</body>'标记之前,以便它首先加载您的页面内容。

$(document).ready(function(){          
    $('#keywords').jsonTagEditor();
});

你忘了写文档

取而代之的是这个

$().ready(function(){});

使用这个

$(document).ready( () => {});

=>意味着您使用JS的最新标准

或者你可以只使用这个替代的jQuery tagEditor

最新更新