【发布时间】:2015-10-08 00:36:44
【问题描述】:
我有以下问题。我想在我的项目中使用https://github.com/aehlke/tag-it/。但是我不确定我应该如何实现github页面上给出的以下示例:
<script type="text/javascript">
$(document).ready(function() {
$("#myTags").tagit();
});
</script>
<ul id="myTags">
<!-- Existing list items will be pre-added to the tags -->
<li>Tag1</li>
<li>Tag2</li>
</ul>
到目前为止,我能够操作对象:
val document = js.Dynamic.global.document
document.getElementById("myTags").innerHTML = "Test"
这行得通! Test 正在渲染中。
当我打电话给tagit() 时,我被告知tagit is not a function。
val document = js.Dynamic.global.document
document.getElementById("myTags").tagit()
当我使用 chrome java 脚本控制台进行“相同”调用时,一切正常:
$("#myTags").tagit();
有人可以解释我做错了什么吗?提前谢谢!
编辑
这不是 tag-it 或 jquery 未加载的问题。 chrome 控制台再次工作。这也不是加载问题。即使在所有内容都加载为 100% 后单击一个按钮,它也不起作用。
编辑
添加了我的部分构建定义,这样每个人都可以看到依赖项是正确的:
.jsSettings(
jsDependencies ++= Seq(
"org.webjars" % "bootswatch-yeti" % "3.3.5" / "js/bootstrap.js" minified "js/bootstrap.min.js" dependsOn "jquery.js",
"org.webjars" % "jquery-ui" % "1.11.4" / "jquery-ui.js" minified "jquery-ui.min.js" dependsOn "jquery.js",
"org.webjars" % "tag-it" % "2.0" / "js/tag-it.js" dependsOn "jquery.js" dependsOn "jquery-ui.js"
),
libraryDependencies ++= Seq(
"io.github.widok" %%% "widok" % "0.2.2" exclude ("org.webjars", "bootstrap"),
"be.doeraene" %%% "scalajs-jquery" % "0.8.0",
"com.lihaoyi" %%% "scalatags" % "0.4.6",
"org.webjars" % "bootswatch-yeti" % "3.3.5",
"org.webjars" % "font-awesome" % "4.4.0",
"org.webjars" % "jquery-ui-themes" % "1.11.4"
),
persistLauncher := true
)
【问题讨论】:
-
两个问题,一)你可能没有在你的网站上添加 tag-it js 二)tag-it 在 jquery 之前添加。
-
@Omidam81 都不是这样。我什至安装了一个按钮来测试以确保所有内容都已加载。它不起作用。 Chrome 控制台有效,按钮无效。
-
请检查答案。谢谢,
-
您的代码是正确的,但我认为问题在于您添加脚本(带有 src)标签的顺序。
-
@Omidam81 不,scala js 不会发生这种情况。我更新了我的问题。如您所见,我已经告诉编译器 tag-it 依赖于 jquery 和 jquery-ui。一旦完成,一切都会为您处理。那里不可能有错误。
标签: javascript scala scala.js