GopherJS Bindings for jQuery
JavaScript Go Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test replace js.This Oct 20, 2015
.gitattributes Test Setup and more functions Feb 5, 2014
.gitignore Ignore .cs files Feb 5, 2014
README.md Fix broken Markdown headings Apr 18, 2017
jquery.go Fix #19 syntax error Apr 1, 2018

README.md

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.