1. Trang chủ
  2. » Công Nghệ Thông Tin

Session15 concepts HTML Lập Trình Web Tĩnh

19 193 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 755,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình web tĩnh Html dành cho người mới bắt đầu học lập trình web Mình khuyên các bạn nên học đầy đủ từ bài số 1 trở đi Và kết hợp với video khi sử dụng slide nhưng do video mình chưa có thời gia up lên khi nào có mình sẽ cho link lên mục này

Trang 1

Chương 15 Các đối tượng của trình duyệt trong JavaScript

Mục tiêu:

Kết thúc chương này, bạn có thể:

 Làm việc với các sự kiện trong JavaScript

 Làm việc với các đối tượng

 Thuộc tính

 Phương thức

Phần giới thiệu

Các sự kiện là kết quả một hành động của người dùng Chúng ta có thể làm cho trang web dễ tương tác hơn bằng cách tạo ra các trình xử lý sự kiện đáp ứng các sự kiện do người dùng tạo ra Trong chương này, chúng ta sẽ học các sự kiện mà trình duyệt hỗ trợ

và cách tạo ra các trình xử lý sự kiện cho các sự kiện này Cũng trong chương này, chúng

ta sẽ học tất cả các đối tượng

17.1 Đối tượng Event - Khái niệm

Các chương trình JavaScript thường là hướng sự kiện Các sự kiện là các hành động xảy ra trên trang web Một sự kiện có thể do người dùng tạo ra – click chuột vào một button - hoặc do hệ thống tạo ra – thay đổi kích thước của trang

Hầu hết các trình duyệt đều hỗ trợ một đối tượng Event Mỗi sự kiện có một đối tượng Event tương ứng Đối tượng Event cung cấp thông tin về sự kiện - loại sự kiện và vị trí của con trỏ tại thời điểm xảy ra sự kiện Khi một sự kiện được phát sinh, nó được gửi đi như một đối số đến trình xử lý sự kiện Dĩ nhiên, phải có một trình xử lý sự kiện trong trường hợp đầu tiên

Chẳng hạn, khi người dùng nhấp chuột, sự kiện onmousedown được phát sinh Đối tượng Event

chứa những thông tin sau:

 Loại sự kiện - Trong trường hợp này là nhấp chuột

 Vị trí x và y của con trỏ khi nhấp chuột

 Một số chỉ ra nút chuột được nhấn

xảy ra sự kiện

Đối tượng Event không thể được sử dụng trực tiếp với đối tượng cửa sổ Nó được sử dụng như một phần của trình xử lý sự kiện

Vòng đời của một sự kiện bắt đầu bằng hành động hoặc điều kiện khởi tạo sự kiện và kết thúc với đáp ứng cuối cùng của trình xử lý sự kiện Vòng đời của một sự kiện tiêu biểu gồm những bước sau:

1 Hành động người dùng hoặc điều kiện tương ứng với sự kiện xảy ra

2 Đối tượng Event được cập nhật tức thì nhằm phản ánh trạng thái của sự kiện

3 Sự kiện được thực thi

4 Trình xử lý sự kiện tương ứng được gọi

Trang 2

trình

17.2 Các sự kiện JavaScript

Tập hợp các sự kiện tương ứng với các phần tử khác nhau trên trang là một phần của mô hình đối tượng tài liệu (Document Object Model), chứ không phải của JavaScript Nghĩa là, các sự kiện được một phần tử nào đó hỗ trợ có thể không giống nhau trong các trình duyệt

Sau đây là một số sự kiện thường được hầu hết các đối tượng hỗ trợ:

 onClick

Sự kiện onClick được tạo ra bất cứ khi nào người dùng nhấp chuột lên các phần tử form nào đó

(button, checkbox, radio button, và phần tử select), hoặc lên các hyperlink

Ví dụ 1:

<HTML>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

function compute(form)

{

if (confirm("Are you sure?")) form.kết quả.value = eval(form.expr.value) else

alert("Please come back again.") }

</SCRIPT>

</HEAD>

<BODY>

<FORM>

Enter an expression:

<INPUT TYPE="text" NAME="expr" SIZE=15 ><BR><BR>

<INPUT TYPE="button" VALUE="Calculate"

ONCLICK="compute(this.form)">

<BR><BR><BR>

Kết quả:

<INPUT TYPE="text" NAME="kết quả" SIZE=15 >

<BR>

</FORM>

</BODY>

</HTML>

Kết quả đoạn mã trong ví dụ 1 được minh hoạ ở hình 17.1

Trang 3

Hình 17.1: Kết quả của ví dụ 1

 onChange

Sự kiện onChange xảy ra bất cứ khi nào một phần tử form thay đổi Điều này có thể xảy ra khi nội dung của một trường văn bản thay đổi, hoặc khi một chọn lựa trong danh sách chọn lựa thay đổi Tuy nhiên, sự kiện onChange không được tạo ra khi một radio button hoặc một checkbox được nhấp Thay vào đó, sự kiện onClick sẽ được tạo ra

Sự kiện onChange được gửi đi khi một phần tử hoàn tất việc thay đổi Vì vậy, khi một textbox đang được hiệu chỉnh, sự kiện onChange chỉ được phát sinh sau khi việc hiệu chỉnh

đã hoàn tất, và khi người dùng thoát khỏi textbox đó

Ví dụ 2:

<HTML>

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<! - hide script from old browsers function checkNum(num)

{

if (num == "") {

alert("Please enter a number");

return false;

}

if (isNaN (num)) {

alert("Please enter a numeric value");

return false;

} else alert ("Thank you");

Trang 4

// end hiding from old browsers >

</SCRIPT>

</HEAD>

<BODY bgColor = white>

<FORM>

Please enter a number:

<INPUT type = text size = 5

onChange="checkNum(this.value)">

</FORM>

</BODY>

</HTML>

Hình 17.2(1) và 17.2(2) minh hoạ kết quả của đoạn mã trong ví dụ 2

Hình 17.2: Kết quả của ví dụ 2(1)

Nếu chúng ta nhập vào một giá trị số:

Trang 5

Hình 17.2: Kết quả của ví dụ 2(2)

 onFocus

Sự kiện onFocus được gửi đi bất cứ khi nào một phần tử form trở thành phần tử hiện thời Chỉ khi một phần tử nhận được focus nó mới chấp nhận dữ liệu nhập vào từ người dùng Điều này có thể xảy ra khi người dùng nhấp chuột lên phần tử, hoặc sử dụng phím Tab hoặc Shift+Tab (quay vòng tới hoặc lui trong danh sách các phần tử form)

 onBlur

Blur ngược với focus Khi người dùng rời khỏi một phần tử form, sự kiện onBlur được kích hoạt Đối với một số phần tử, nếu nội dung thay đổi, thì sự kiện onChange cũng được kích hoạt

Ví dụ 3:

<HTML>

<BODY BGCOLOR="lavender">

<FORM>

<INPUT type = text name = text1 onblur="(document.bgColor='aqua')"

onfocus="(document.bgColor='dimgray')">

</FORM>

</BODY>

</HTML>

Khi textbox nhận được focus, màu nền sẽ chuyển sang DIMGRAY, khi mất focus (blur), màu nền sẽ chuyển sang AQUA

Trang 6

Hình 17.3: Kết quả của ví dụ 3 – Blur (hình trái) and focus (hình phải)

 onMouseOver

Sự kiện onMouseOver được tạo ra bất cứ khi nào con trỏ di chuyển lên trên một phần tử

 onMouseOut

Sự kiện onMouseOut được tạo ra bất cứ khi nào con trỏ di chuyển ra khỏi phần tử đó

Ví dụ 4:

<html>

<head>

<script language = "javascript">

var num =0 function showLink(num) {

if (num==1) {

document.forms[0].elements[0].value= "You have selected Aptech";

}

if (num==2)

{ document.forms[0].elements[0].value = "You have selected Asset";

}

if (num==3)

{ document.forms[0].elements[0].value = "You have selected Arena";

}

}

</script>

</head>

<body>

Trang 7

<form>

<input type=text size=60 >

</form>

<a href="#" onMouseOver="showLink(1)"document.bgcolor= “ green">Aptech</a><br>

<a href="#" onMouseOver="showLink(2)">Asset</a><br>

<a href="#" onMouseOver="showLink(3)">Arena</a><br>

</body>

</html>

Khi di chuyển chuột qua Aptech, kết quả được hiển thị như sau

Hình 17.4: Kết quả của ví dụ 4

 OnLoad

Sự kiện onLoad (áp dụng cho đối tượng body) được phát sinh khi đã tải xong tài liệu Nó cũng được phát sinh khi một ảnh đã tải xong

Ví dụ 5:

<HTML>

<HEAD>

<TITLE>Hello </TITLE>

</HEAD>

<BODY onLoad="alert('Hello')">

</BODY>

</HTML>

Trang 8

Kết quả:

Hình 17.5: Kết quả của ví dụ 5

 onSubmit

Sự kiện onSubmit được tạo ra bất cứ khi nào người dùng gửi form (thường sử dụng nút Submit) Sự kiện xảy ra trước khi form thật sự được gửi đi Thật ra, trình xử lý sự kiện tương ứng với sự kiện này có thể ngăn chặn form không được gửi đi bằng cách trả về giá trị false Cách này có thể được dùng để kiểm tra tính hiệu lực của dữ liệu nhập vào

 onMouseDown

Sự kiện này được kích hoạt khi hành động nhấp chuột xảy ra Nghĩa là, khi người dùng nhấp chuột Đây là trình xử lý sự kiện cho các đối tượng button, document, và link

 onMouseUp

Ví dụ 6:

<HTML>

<BODY BGCOLOR="lavender">

<FORM>

<INPUT type = button name = text1 value=”Change Color”

onmousedown="(document.bgColor='aqua')"

onmouseup="(document.bgColor='limegreen')"

</FORM>

</BODY>

</HTML>

Hình dưới đây hiển thị kết quả của ví dụ 6

Trang 9

Hình 17.6: Kết quả của ví dụ 6

 onResize

Sự kiện này được kích hoạt khi hành động thay đổi kích thước cửa sổ xảy ra Nghĩa là, khi người dùng hoặc một script làm thay đổi kích thước một cửa sổ hay frame Đây là trình xử lý

sự kiện cho các đối tượng Window

Ví dụ 7

<html>

<head>

<script language="JavaScript">

window.onresize= notify;

function notify() {

alert("Window resized!");

}

</script>

</head>

<body>

Please resize the window

</body>

</html>

Khi thay đổi kích thước cửa sổ, kết quả xuất hiện như sau:

Hình 17.7: Kết quả của ví dụ 7

Trang 10

17.3 Trình xử lý sự kiện

Khi một sự kiện được khởi tạo, chúng ta có thể tạo một đoạn mã JavaScript để đáp ứng lại sự kiện Đoạn mã này được gọi là trình xử lý sự kiện Trình xử lý sự kiện có thể là một câu lệnh đơn, một tập hợp các câu lệnh hoặc một hàm

NAME="docode"

onClick="DoOnClick();">

Khi một button được kích hoạt, sự kiện onClick được khởi tạo Sự kiện onClick gọi hàm DoOnClick và thực thi những câu lệnh bên trong hàm

 Trình xử lý sự kiện cho các thẻ HTML

Để khởi tạo trình xử lý sự kiện cho thẻ HTML, chúng ta phải chỉ định thẻ và thuộc tính trình

xử lý sự kiện Sau đó chúng ta gán mã JavaScript Đoạn mã phải được đặt trong cặp dấu nháy kép

<TAG eventHandler="JavaScript Code">

Các đối số chuỗi phải được đặt trong cặp dấu nháy đơn

<INPUT TYPE="button" NAME="Button1" VALUE="Open Sesame!" onClick="window.open('mydoc.html', 'newWin')">

Thay vì sử dụng nhiều câu lệnh JavaScript, các hàm sẽ giúp cho việc thiết kế chương trình tốt hơn Chúng ta sẽ gọi hàm khi cần thiết Hơn nữa các hàm đó có thể được dùng bởi các phần

tử khác

Câu lệnh này gán hàm greeting() cho trình xử lý sự kiện nạp cửa sổ Thuộc tính của trình xử

lý sự kiện phải được gán cho tham chiếu hàm greeting thay vì gọi hàm greeting()

Ví dụ 8

<HTML>

<HEAD>

<TITLE>My Home Page</TITLE>

<SCRIPT LANGUAGE="JavaScript">

function greeting() {

alert("Welcome to my world");

}

</SCRIPT>

</HEAD>

<BODY onLoad="greeting()">

</BODY>

</HTML>

Trang 11

Kết quả:

Hình 17.8: Kết quả ví dụ 8

 Trình xử lý sự kiện như là những thuộc tính

Chúng ta cũng có thể gán một hàm cho một trình xử lý sự kiện của một đối tượng Cú pháp như sau:

object.eventhandler = function;

Ví dụ,

window.onload = greeting;

Chúng ta xem ví dụ 1 và sử dụng trình xử lý sự kiện như những thuộc tính:

Ví dụ 9

<HTML>

<HEAD>

<TITLE>My Home Page</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!

function greeting() {

alert("Welcome to my world");

}

window.onload = greeting;

// >

</SCRIPT>

</HEAD>

</HTML>

Kết quả sẽ tương tự như hình 17.8 Hiệu quả của kỹ thuật này là những trình xử lý sự kiện linh hoạt hơn Chúng ta có thể hiệu chỉnh trình xử lý sự kiện khi được yêu cầu

Trang 12

17.4 Đối tượng trình duyệt thông thường

Trình duyệt là một ứng dụng được dùng để hiển thị nội dung của một trang HTML Các trình duyệt cũng cung cấp một số đối tượng có thể được truy cập và sử dụng trong script Đối tượng trình duyệt cũng hoạt động như các đối tượng lưu chứa đối với phần tử HTML trong một trang Web

Lưu ý: Netscape và Microsoft đã phát triển mô hình đối tượng tài liệu riêng của mình Hai mô

hình này có thể không tuơng thích với nhau

Đối tượng window thể hiện cửa sổ của trình duyệt Tất cả những đối tượng khác trong mô hình được kế thừa từ đối tượng window và được truy cập thông qua đối tượng window Có thể có thêm các đối tượng window khác Các đối tượng này thể hiện các cửa sổ con và được xem như các Frame Những đối tượng cửa sổ này được truy cập thông qua tập hợp các Frame

Trong phần này chúng ta sẽ khám phá các đối tượng mà Internet Explorer và Netscape Navigator cung cấp cùng với một số thuộc tính và phương thức liên quan đến chúng

Hình 17.9: Đối tượng trình duyệt IE

Screen

Event Frames History Location Navigator Window Object

Document Object

Trang 13

Hình 17.10: Đối tượng trình duyệt Netscape 17.4.1 Mô hình đối tượng (DOM)

Một đặc điểm quan trọng của JavaScript là ngôn ngữ dựa trên đối tượng Điều này hỗ trợ cho người sử dụng phát triển chương trình theo môđun và có thể được sử dụng lại JavaScript không hoàn toàn là ngôn ngữ hướng đối tượng, nhưng nó hỗ trợ một vài đặc điểm hướng đối tượng Một đối tượng có thể được định nghĩa như một thực thể đơn bao gồm các thành phần thông tin

được xem như thuộc tính và thành phần chức năng được xem như các phương thức

Một thuộc tính là một giá trị của một đối tượng Tất cả các đối tượng JavaScript chuẩn đều có những thuộc tính như thế Ví dụ:

Document.bgcolor

17.4.2 Đối tượng Window

Thể hiện các cửa sổ của trình duyệt và có thể được dùng để lấy thông tin về trạng thái của cửa sổ

Nó cũng được sử dụng để hiển thị đối tượng document và truy cập các sự kiện xảy ra trong cửa sổ

và những đặc điểm của trình duyệt ảnh hưởng đến cửa sổ

Khi trình duyệt mở tài liệu HTML thong thường nó tạo ra một đối tượng window Tuy nhiên, nếu một tài liệu định nghĩa một hay nhiều Frame thì trình duyệt tạo ra một đối tượng window cho tài liệu ban đầu và thêm một đối tượng window nữa cho mỗi Frame Các đối tượng phụ như cửa sổ con của cửa sổ ban đầu có thể bị ảnh hưởng bởi các hành động xuất hiện trong cửa sổ ban đầu đó

Ví dụ, nếu chúng ta đóng cửa sổ ban đầu thì tất cả các cửa sổ con đều bị đóng

Các thuộc tính

Window

Document Frame Location History

Navigator

Plugin Mime type

Trang 14

trạng thái của các nút trên chuột

sử dụng

duyệt

Những phương thức

nghĩa{INCLUDEPICTURE " / / / / /workshop/graphics/method.gif" \* MERGEFORMATINET \d \z"}

onfocus chỉ ra

liệu trống nếu không có một URL nào được chỉ định

Lưu ý: Các thuộc tính của window, phương thức và tập hợp các tên là các từ khóa dùng riêng

không được dùng làm tên biến và các thủ tục thông thường

17.4.3 Đối tượng Document

Thể hiện tài liệu HTML trong một cửa sổ trình duyệt và được dùng để lấy thông tin về tài liệu, kiểm tra và sửa đổi các phần tử HTML và văn bản trong tài liệu để xử lý sự kiện

Ví dụ 10

<HTML>

<HEAD>

<TITLE>The Document Object</TITLE>

<script language="JavaScript">

alert(document.title);

</SCRIPT>

</HEAD>

</HTML>

Kết quả:

Ngày đăng: 09/11/2015, 18:10

HÌNH ẢNH LIÊN QUAN

Hình 17.2(1) và 17.2(2) minh hoạ kết quả của đoạn mã trong ví dụ 2. - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.2 (1) và 17.2(2) minh hoạ kết quả của đoạn mã trong ví dụ 2 (Trang 4)
Hình 17.2: Kết quả của ví dụ 2(2) - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.2 Kết quả của ví dụ 2(2) (Trang 5)
Hình 17.4: Kết quả của ví dụ 4 - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.4 Kết quả của ví dụ 4 (Trang 7)
Hình 17.5: Kết quả của ví dụ 5 - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.5 Kết quả của ví dụ 5 (Trang 8)
Hình 17.6: Kết quả của ví dụ 6 - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.6 Kết quả của ví dụ 6 (Trang 9)
Hình  17.8: Kết quả ví dụ 8 - Session15 concepts HTML Lập Trình Web Tĩnh
nh 17.8: Kết quả ví dụ 8 (Trang 11)
Hình này có thể không tuơng thích với nhau. - Session15 concepts HTML Lập Trình Web Tĩnh
Hình n ày có thể không tuơng thích với nhau (Trang 12)
Hình 17.10: Đối tượng trình duyệt Netscape  17.4.1 Mô hình đối tượng (DOM) - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.10 Đối tượng trình duyệt Netscape 17.4.1 Mô hình đối tượng (DOM) (Trang 13)
Hình 17.11: Đối tượng trình duyệt Netscape Các thuộc tính - Session15 concepts HTML Lập Trình Web Tĩnh
Hình 17.11 Đối tượng trình duyệt Netscape Các thuộc tính (Trang 15)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN