Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 1.93 KB

README.md

File metadata and controls

88 lines (61 loc) · 1.93 KB

jQuery Bindings for GopherJS

Install

$ go get github.com/gopherjs/jquery

How To Use

welcome.html file:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to GopherJS with jQuery</title>
    <script src="resources/jquery-2.1.0.js"></script>
</head>
<body>
    <input id="name" type="text" value="" placeholder="What is your name ?" autofocus/>
    <span id="output"></span>
    <script src="welcome.js"></script>
</body>
</html>

welcome.go file:

package main

import "github.com/gopherjs/jquery"

//convenience:
var jQuery = jquery.NewJQuery

const (
	INPUT  = "input#name"
	OUTPUT = "span#output"
)

func main() {

	//show jQuery Version on console:
	print("Your current jQuery version is: " + jQuery().Jquery)

	//catch keyup events on input#name element:
	jQuery(INPUT).On(jquery.KEYUP, func(e jquery.Event) {

		name := jQuery(e.Target).Val()
		name = jquery.Trim(name)

		//show welcome message:
		if len(name) > 0 {
			jQuery(OUTPUT).SetText("Welcome to GopherJS, " + name + " !")
		} else {
			jQuery(OUTPUT).Empty()
		}
	})
}

Compile welcome.go:

$ gopherjs build welcome.go

Tests

In the "tests" folder are QUnit Tests, run the server with:

"go run server.go" and open a browser: http://localhost:3000

The relevant QUnit Test cases are defined in the test/index.go file.

Sample Apps ported from Javascript/Coffeescript to GopherJS

Look at the Sample Apps to find out what is working and how. Any feedback is welcome !

Status

The normal DOM / Ajax / Deferreds Api is done and can be considered stable. Please look up the index.go file in the test folder to see how it works.