我只是尝试实现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