JavaScript: The Definitive Guide, Sixth Editio javaScript权威指南(第6版) pdf 文字版-文字版, javascript电子书, 和javascript 有关的电子书:

17.2.2 Setting Event Handler Attributes

17.2.2 Setting Event Handler Attributes

The event handler properties of a document element can also be set as attributes on the corresponding HTML tag. If you do this, the attribute value should be a string of JavaScript code. That code should be the body of the event handler function, not a complete function declaration. That is, your HTML event handler code should not be surrounded by curly braces and prefixed with the function keyword. For example:

Click Here

If an HTML event handler attribute contains multiple JavaScript statements, you must remember to separate those statements with semicolons or to break the attribute value across multiple lines.

17.2 Registering Event Handlers | 457

Some event types are directed at the browser as a whole, rather than at any particular document element. In JavaScript, handlers for these events are registered on the Window object. In HTML, we place them on thetag, but the browser registers them on the Window. The following is the complete list of such event handlers as defined by the draft HTML5 specification:

onafterprint onfocus ononline onresize
onbeforeprint onhashchange onpagehide onstorage
onbeforeunload onload onpageshow onundo
onblur onmessage onpopstate onunload
onerror onoffline onredo

When you specify a string of JavaScript code as the value of an HTML event handler attribute, the browser converts your string into a function that looks something like this:

function(event) { with(document) { with(this.form || {}) { with(this) { /* your code here */ } } } }

If the browser supports ES5, the function is defined in non-strict mode (see §5.7.3 ). We’ll see more about the event argument and the with statements when we consider event handler invocation in §17.3 .

A common style in client-side programming involves keeping HTML content separate from JavaScript behavior. Programmers who follow this discipline shun (or at least avoid) HTML event handler attributes, since they directly mix JavaScript and HTML.

友情链接It题库(| 版权归yishouce.com所有| 友链等可联系|粤ICP备16001685号-1