+ All Categories
Home > Documents > 05 Javascript and HTML Docs

05 Javascript and HTML Docs

Date post: 12-Feb-2016
Category:
Upload: kannan-ds
View: 235 times
Download: 0 times
Share this document with a friend
Description:
Javascript and Html document for the beginner
22
1 IV P R 1 © Copyright 2006 Haim Levkowitz JavaScript Execution Environment JavaScript Window object represents window in which browser displays documents Window object provides largest enclosing referencing environment for scripts All global variables are properties of Window IV P R 2 © Copyright 2006 Haim Levkowitz Execution Environment (2) Implicitly defined Window properties: document - reference to Document object that window displays frames - array of references to frames of document Every Document object has: forms - array of references to forms of document Each Form object has elements array which has references to form’s elements Document also has anchors, links, & images
Transcript
Page 1: 05 Javascript and HTML Docs

1

I VPR 1

© Copyright 2006 Haim Levkowitz

JavaScript Execution

Environment

• JavaScript Window object represents

window in which browser displays

documents

• Window object provides largest enclosing

referencing environment for scripts

• All global variables are properties ofWindow

I VPR 2

© Copyright 2006 Haim Levkowitz

Execution Environment (2)

• Implicitly defined Window properties:

• document - reference to Document object thatwindow displays

• frames - array of references to frames of document

• Every Document object has:

• forms - array of references to forms of document

• Each Form object has elements array

• which has references to form’s elements• Document also has anchors, links, & images

Page 2: 05 Javascript and HTML Docs

2

I VPR 3

© Copyright 2006 Haim Levkowitz

The Document Object Model• DOM 0 supported by all JavaScript-enabled browsers

(no written specification)

• DOM 1 released in 1998

• DOM 2 is latest approved standard

• Nearly completely supported by NS7

• IE6’s support lacking some important things

• DOM = abstract model

• defines interface between HTML documents andapplication programs—an API

I VPR 4

© Copyright 2006 Haim Levkowitz

simple document

• <html xmlns=“http://www.w3.org/1999/xhtml”>

<head> <title> A simple document </title>

</head>

<body>

<table>

<tr>

<th> Breakfast </th>

<td> 0 </td>

<td> 1 </td>

</tr>

<tr>

<th> Lunch </th>

<td> 1 </td>

<td> 0 </td>

</tr>

</table>

</body>

Page 3: 05 Javascript and HTML Docs

3

I VPR 5

© Copyright 2006 Haim Levkowitz

FIGURE 5.1 DOM structure

for simple document

I VPR 6

© Copyright 2006 Haim Levkowitz

Document Object Model (2)

- language that supports DOM

- must have binding to DOM constructs

- In JavaScript binding

- HTML elements represented as objects

- element attributes represented as properties, e.g.,

<input type = "text" name = "address">

represented as object

with two properties: type and name

with values: "text" and "address"

Page 4: 05 Javascript and HTML Docs

4

I VPR 7

© Copyright 2006 Haim Levkowitz

Element Access in JavaScript

• First way to do it

Given document with just one form and one widget: <form action = "">

<input type = "button“ name =

"pushMe">

</form>

use DOM address document.forms[0].element[0]

Problem: document changes

I VPR 8

© Copyright 2006 Haim Levkowitz

Element Access in JavaScript

(2)• Second way

Given document with element and all of itsancestors (except body) having name attributes <form name = "myForm" action = ""> <input type = "button“ name ="pushMe"> </form>use named accessdocument.myForm.pushMe

• Problem: XHTML 1.1 spec doesn’t allow nameattribute on form elements

Page 5: 05 Javascript and HTML Docs

5

I VPR 9

© Copyright 2006 Haim Levkowitz

Element Access in JavaScript

(3)

• Third way

Where element ids are defined usegetElementById method

• (defined in DOM 1),

I VPR 10

© Copyright 2006 Haim Levkowitz

e.g., for

• <form action = "">

<input type = "button“ id =

"pushMe">

</form>

usedocument.getElementById("pushMe")

Page 6: 05 Javascript and HTML Docs

6

I VPR 11

© Copyright 2006 Haim Levkowitz

Element Access in JavaScript

(4)

• Checkboxes and radio button have implicit array

• which has their name <form id = "topGroup"> <input type = "checkbox" name ="toppings" value = "olives" /> ... <input type = "checkbox" name ="toppings" value = "tomatoes" /></form>...

I VPR 12

© Copyright 2006 Haim Levkowitz

• var numChecked = 0;

var dom =

document.getElementById("topGroup");

for index = 0; index <

dom.toppings.length; index++)

if (dom.toppings[index].checked]

numChecked++;

Page 7: 05 Javascript and HTML Docs

7

I VPR 13

© Copyright 2006 Haim Levkowitz

Events and Event Handling

• event is notification that something

specific has occurred

• with browser or action of user

• event handler

• script, implicitly executed

• in response to appearance of event

• process of connecting event handler to

event is called registration

I VPR 14

© Copyright 2006 Haim Levkowitz

TABLE 5.1

Events and Their Tag

Attributes

Page 8: 05 Javascript and HTML Docs

8

I VPR 15

© Copyright 2006 Haim Levkowitz

TABLE 5.1 Events and Their

Tag Attributes (Continued)

I VPR 16

© Copyright 2006 Haim Levkowitz

Events and Event Handling (2)

• same attribute can appear in several different tags

• e.g., onclick attribute can be in <a> and <input>

• see Table 5.2 (pp 198-199) …

• text element gets focus in three ways:

• When user puts mouse cursor over it

• and presses left button

• When user tabs to element

• By executing focus method

Page 9: 05 Javascript and HTML Docs

9

I VPR 17

© Copyright 2006 Haim Levkowitz

TABLE 5.2

Event Attributes and Their

Tags

I VPR 18

© Copyright 2006 Haim Levkowitz

TABLE 5.2 Event Attributes

and Their Tags (Continued)

Page 10: 05 Javascript and HTML Docs

10

I VPR 19

© Copyright 2006 Haim Levkowitz

Events and Event Handling (3)

• Event handlers can be registered in two

ways:

• …

I VPR 20

© Copyright 2006 Haim Levkowitz

By assigning event handler

script to event tag attribute

• <input type = "button" name =

"mybutton"

onclick = "alert('Mouse

click!');" />

Page 11: 05 Javascript and HTML Docs

11

I VPR 21

© Copyright 2006 Haim Levkowitz

By assigning function to event

tag attribute

• <input type = "button" name =

"mybutton"

onclick = "myHandler();" />

I VPR 22

© Copyright 2006 Haim Levkowitz

Handling Events from Body

Elements

• Example: load event

• triggered when loading of document is

completed

• load.html

Page 12: 05 Javascript and HTML Docs

12

I VPR 23

© Copyright 2006 Haim Levkowitz

Handling Events from Buttons

• Plain Buttons – use onclick property

• Radio buttons - handler can be registered

in markup, sending particular button that

was clicked to handler as parameter

• e.g., if planeChoice is name of handler

and value of button is 172, use

• onclick = planeChoice(172)

I VPR 24

© Copyright 2006 Haim Levkowitz

radio_click.html

Page 13: 05 Javascript and HTML Docs

13

I VPR 25

© Copyright 2006 Haim Levkowitz

Radio button alternative

• register handler by assigning it property of

JavaScript objects associated with HTML

elements

I VPR 26

© Copyright 2006 Haim Levkowitz

radio_click2.html

Page 14: 05 Javascript and HTML Docs

14

I VPR 27

© Copyright 2006 Haim Levkowitz

Handling Events from Buttons

(2)

• Specifying handlers by assigning them to eventproperties

• Disadvantage

• there is no way to use parameters

• Advantages

• It’s good to keep HTML and JavaScriptseparate

• handler could be changed during use

I VPR 28

© Copyright 2006 Haim Levkowitz

Handling Events from Textbox

and Password Elements

• Focus Event

• can be used to detect illicit changes to text

box

• by blurring element every time element

acquires focus

• nochange.html

Page 15: 05 Javascript and HTML Docs

15

I VPR 29

© Copyright 2006 Haim Levkowitz

Checking Form Input

• good use of JavaScript -- find errors in input

before sent to server for processing

• save server time & network traffic

• must do:

• Detect error and produce alert message

• Put element in focus (focus function)

• put cursor in element

• Select element (select function)

• highlight text

I VPR 30

© Copyright 2006 Haim Levkowitz

• To keep form active after event handlerfinished, handler must return false

• pswd_chk.html …

• validator.html …

Page 16: 05 Javascript and HTML Docs

16

I VPR 31

© Copyright 2006 Haim Levkowitz

pswd_chk.html

I VPR 32

© Copyright 2006 Haim Levkowitz

validator.html

Page 17: 05 Javascript and HTML Docs

17

I VPR 33

© Copyright 2006 Haim Levkowitz

The DOM 2 Event Model

• Does not include DOM 0 features

• but they are still supported by browsers

• DOM 2 is modularized

• one module is Events

• has two submodules,

• HTMLEvents

• MouseEvents, whose interfaces

• Event (blur, change, etc.)

• MouseEvent (click, mouseup, etc.)

I VPR 34

© Copyright 2006 Haim Levkowitz

• Event propagation

• node of document tree where event iscreated called

• target node

• capturing phase (first phase)

• Events begin at root and move towardtarget node

• Registered and enabled event handlers atnodes along way are run

Page 18: 05 Javascript and HTML Docs

18

I VPR 35

© Copyright 2006 Haim Levkowitz

• second phase is at target node

• If there are registered handlers there forevent, they are run

• third phase is bubbling phase

• Event goes back to root; all encounteredregistered handlers are run

• Not all events bubble

• (e.g., load and unload)

I VPR 36

© Copyright 2006 Haim Levkowitz

• Any handler can stop further event

propagation

• by calling stopPropagation method

of Event object

Page 19: 05 Javascript and HTML Docs

19

I VPR 37

© Copyright 2006 Haim Levkowitz

• DOM 2 model uses Event object

method, preventDefault, to stop

default operations

• such as submission of form

• if error has been detected

I VPR 38

© Copyright 2006 Haim Levkowitz

• Event handler registration is done with

• addEventListener method

Page 20: 05 Javascript and HTML Docs

20

I VPR 39

© Copyright 2006 Haim Levkowitz

• Three parameters:

• 1. Name of event, as string literal

• 2. handler function

• 3. Boolean value that specifies whether event

is enabled during capturing phase

• node.addEventListener("change",

chkName, false);

I VPR 40

© Copyright 2006 Haim Levkowitz

• temporary handler can be created by

registering it and then unregistering it with

• removeEventListener

• currentTarget property of Event

always references object on which

handler is being executed

Page 21: 05 Javascript and HTML Docs

21

I VPR 41

© Copyright 2006 Haim Levkowitz

• MouseEvent interface

• subinterface of Event

• has two properties

• clientX and clientY

• that have x and y coordinates of mousecursor, relative to upper left corner of browserwindow

• example: revision of validator, using DOM 2event model

I VPR 42

© Copyright 2006 Haim Levkowitz

validator2.html

Page 22: 05 Javascript and HTML Docs

22

I VPR 43

© Copyright 2006 Haim Levkowitz

• Note: DOM 0 and DOM 2 event handling

can be mixed in document

I VPR 44

© Copyright 2006 Haim Levkowitz

The navigator object

• Indicates which browser being used

• Two useful properties

• appName property has browser’s name

• appVersion property has version #

• navigate.html


Recommended