JavaScript Execution Environment - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

JavaScript Execution Environment

Description:

The Window object provides the largest enclosing referencing environment for scripts ... Given a document with just one form and one widget): form action ... – PowerPoint PPT presentation

Number of Views:155
Avg rating:3.0/5.0
Slides: 19
Provided by: richard906
Category:

less

Transcript and Presenter's Notes

Title: JavaScript Execution Environment


1
JavaScript Execution Environment
  • The JavaScript Window object represents the
    window in which the browser displays documents
  • The Window object provides the largest enclosing
    referencing environment for scripts
  • All global variables are properties of Window

2
Execution Environment (2)
  • Implicitly defined Window properties
  • document - a reference to the Document object
    that the window displays
  • frames - an array of references to the frames of
    the document
  • Every Document object has
  • forms - an array of references to the forms of
    the document
  • Each Form object has an elements array, which has
    references to the forms elements
  • Document also has anchors, links, images

3
The Document Object Model
  • DOM 0 is supported by all JavaScript-enabled
    browsers (no written specification)
  • DOM 1 was released in 1998
  • DOM 2 is the latest approved standard
  • Nearly completely supported by NS7
  • IE6s support is lacking some important things
  • The DOM is an abstract model that defines the
    interface between HTML documents and application
    programsan API

4
Document Object Model (2)
  • A language that supports the DOM must have a
    binding to the DOM constructs
  • In the JavaScript binding, HTML elements are
    represented as objects and element attributes are
    represented as properties, e.g.,
  • ltinput type "text" name "address"gt
  • would be represented as an object with two
    properties, type and name, with the values "text"
    and "address"

5
Element Access in JavaScript
  • First way to do itGiven a document with just one
    form and one widget) ltform action ""gt
    ltinput type "button" name "pushMe"gt
    lt/formgt
  • use DOM address document.forms0.element0
  • Problem document changes

6
Element Access in JavaScript (2)
  • Second way to do itGiven a document with the
    element and all of its ancestors (except body)
    having name attributes ltform name "myForm"
    action ""gt ltinput type "button" name
    "pushMe"gt lt/formgtuse named access document.myFo
    rm.pushMe
  • Problem XHTML 1.1 spec doesnt allow the name
    attribute on form elements

7
Element Access in JavaScript (3)
  • Third way to do itWhere element ids are defined
    use the getElementById method (defined in DOM 1),
    e.g., for
  • ltform action ""gt ltinput type "button"
    id "pushMe"gtlt/formgtuse document.getElementByI
    d("pushMe")

8
Element Access in JavaScript (4)
  • Checkboxes and radio button have an implicit
    array, which has their name ltform id
    "topGroup"gt ltinput type "checkbox" name
    "toppings" value "olives" /gt ...
    ltinput type "checkbox" name "toppings"
    value "tomatoes" /gtlt/formgt...var
    numChecked 0var dom document.getElementById(
    "topGroup")for index 0 index lt
    dom.toppings.length index) if
    (dom.toppingsindex.checked numChecked

9
Events and Event Handling
  • An event is a notification that something
    specific has occurred, either with the browser or
    an action of the browser user
  • An event handler is a script that is implicitly
    executed in response to the appearance of an
    event
  • The process of connecting an event handler to an
    event is called registration

10
Events and Event Handling
  • Event Tag Attribute blur
    onblur change
    onchange click onclick focus
    onfocus load
    onload mousedown onmousedown mousemove onmou
    semove mouseout onmouseout mouseover
    onmouseover mouseup onmouseup select
    onselect submit onsubmit unload
    onunload

11
Events and Event Handling (2)
  • The same attribute can appear in several
    different tags see pages 198-199
  • A text element gets focus in three ways
  • When the user puts the mouse cursor over it and
    presses the left button
  • When the user tabs to the element
  • By executing the focus method

12
Events and Event Handling (3)
  • Event handlers can be registered in two ways
  • By assigning an event handler script to an event
    tag attributeltinput type "button" name
    "mybutton" onclick "alert('Mouse click!')"
    /gt
  • By assigning a function to an event tag attribute
    ltinput type "button" name "mybutton" onclick
    "myHandler()" /gt

13
Handling Events from Buttons
  • Plain Buttons use the onclick property
  • Radio buttons - the handler can be registered in
    the markup, sending the particular button that
    was clicked to the handler as a parameter
  • radio_click.html
  • Radio button alternative - register the handler
    by assigning it to a property of the JavaScript
    objects associated with the HTML elements
  • radio_click2.html

14
Handling Events from Buttons (2)
  • The disadvantage of specifying handlers by
    assigning them to event properties is that there
    is no way to use parameters
  • The advantages of specifying handlers by
    assigning them to event properties are
  • It is good to keep HTML and JavaScript separate
  • The handler could be changed during use

15
Handling Events from Textbox and Password Elements
  • The Focus Event can be used to detect illicit
    changes to a text box by blurring the element
    every time the element acquires focus
  • nochange.html

16
Checking Form Input
  • A good use of JavaScript -- finds errors in input
    before it is sent to the server for processing,
    saving server time and network traffic
  • Things that must be done
  • Detect the error and produce an alert message
  • Put the element in focus - puts the cursor in the
    element
  • Select the element - highlights the text
  • To keep the form active after the event handler
    is finished, the handler must return false
  • pswd_chk.html
  • validator.html

17
The DOM 2 Event Model
  • A potential presentation topic

18
The navigator object
  • Indicates which browser is being used
  • Two useful properties
  • The appName property has the browsers name
  • The appVersion property has the version
  • navigate.html
Write a Comment
User Comments (0)
About PowerShow.com