Static types for the jQuery API for Scala.js programs.
Add the following dependency to your SBT build:
libraryDependencies += "io.udash" %%% "udash-jquery" % "3.3.0"
then import the jQuery package:
import io.udash.wrappers.jquery._
Since version 3.0.4
the wrapper targets SJS 1.x series and supports JS dependencies managed by
by scalajs-bundler or sbt-jsdependencies
import io.udash.wrappers.jquery._
jQ("#elementId")
.hide(AnimationOptions(
duration = Some(3000),
easing = Some(EasingFunction.linear)
))
.show(1500, EasingFunction.swing)
import io.udash.wrappers.jquery._
val element: JQuery = jQ("#id")
element.text("Text content")
element.attr("example-attr", "value")
element.attr("example-attr") match {
case Some(value) => println(s"Attribute value: $value")
case None => println("Attribute not found!")
}
import io.udash.wrappers.jquery._
val callbacks = jQ.callbacks[js.Function1[(Int, Int), js.Any], (Int, Int)]()
callbacks.add((t: (Int, Int)) => {
val (a, b) = t
jQ("#plus").append(li(s"$a + $b = ${a+b}").render)
})
callbacks.add((t: (Int, Int)) => {
val (a, b) = t
jQ("#minus").append(li(s"$a - $b = ${a-b}").render)
})
callbacks.add((t: (Int, Int)) => {
val (a, b) = t
jQ("#mul").append(li(s"$a * $b = ${a*b}").render)
})
callbacks.add((t: (Int, Int)) => {
val (a, b) = t
jQ("#div").append(li(s"$a / $b = ${a/b}").render)
})
callbacks.fire(1, 1)
callbacks.fire(3, 3)
callbacks.fire(7, 4)
callbacks.disable()
callbacks.fire(1, 2)