17
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
OK, tôi có một JavaScript tạo các hàng trong một bảng như thế này:
function AddRow[text,rowID] {
var tbl = document.getElementById['tblNotePanel'];
var row = tbl.insertRow[tbl.rows.length];
var cell = row.insertCell[];
var textNode = document.createTextNode[text];
cell.id = rowID;
cell.style.backgroundColor = "gold";
cell. title = clickTest;
cell.appendChild[textNode];
}
Trong hàm trên, tôi đặt hàm title
của ô để gọi một hàm JavaScript khác được gọi là clickTest
. Câu hỏi của tôi là khi tôi gán sự kiện title
để gọi clickTest
, làm cách nào để đặt thông tin tham số được gửi khi phương thức clickTest
được gọi trên sự kiện title
của ô? Hoặc, làm cách nào để truy cập ID của ô trong hàm clickTest
?
Cảm ơn, Jeff
Alex
1.3071 huy hiệu vàng11 Huy hiệu bạc22 Huy hiệu đồng1 gold badge11 silver badges22 bronze badges
Đã hỏi ngày 20 tháng 11 năm 2008 lúc 3:46Nov 20, 2008 at 3:46
Thử cái này:
cell. title = function[] { clickTest[rowID]; };
Ý tưởng là bạn đang ràng buộc trình xử lý title với chức năng ẩn danh. Hàm ẩn danh gọi ClickTest với ROWID là tham số.
Đã trả lời ngày 20 tháng 11 năm 2008 lúc 3:52Nov 20, 2008 at 3:52
TVanfossontvanfossontvanfosson
515K97 Huy hiệu vàng695 Huy hiệu bạc793 Huy hiệu Đồng97 gold badges695 silver badges793 bronze badges
0
Trong hàm clicktest, bạn nên có quyền truy cập vào biến
cell. title = function[] { clickTest[rowID]; };
2. Hãy thử điều này bên trong hàm clickTest
:alert[this.id];
Điều này sẽ đề cập đến phần tử DOM đã bắn sự kiện.
Về cơ bản, thực sự không có cách nào để chuyển các tham số cho chức năng xử lý sự kiện. Lý do cho điều đó là trình duyệt đang thực thi chức năng dựa trên một sự kiện và bạn không thực sự gọi hàm.
Bạn có thể sử dụng các đóng cửa cho phép bạn truy cập các biến cục bộ [vào đóng cửa] khi bạn chỉ định chức năng xử lý sự kiện. Điều đó sẽ như thế này:
cell. title = function[] { alert[this.id]; alert[cell.id]; };
Là
cell. title = function[] { clickTest[rowID]; };
4 là biến có phạm vi cục bộ vẫn được xem xét trong phạm vi khi trình xử lý sự kiện được thực thi.Đã trả lời ngày 20 tháng 11 năm 2008 lúc 3:52Nov 20, 2008 at 3:52
TVanfossontvanfossonEric Schoonover
515K97 Huy hiệu vàng695 Huy hiệu bạc793 Huy hiệu Đồng47 gold badges152 silver badges201 bronze badges
0
Trong hàm clicktest, bạn nên có quyền truy cập vào biến
cell. title = function[] { clickTest[rowID]; };
2. Hãy thử điều này bên trong hàm clickTest
:alert[this.id];
for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
Điều này sẽ đề cập đến phần tử DOM đã bắn sự kiện.Sep 6 at 22:01
ar2015ar2015ar2015
Về cơ bản, thực sự không có cách nào để chuyển các tham số cho chức năng xử lý sự kiện. Lý do cho điều đó là trình duyệt đang thực thi chức năng dựa trên một sự kiện và bạn không thực sự gọi hàm.8 gold badges45 silver badges102 bronze badges
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Bàn luậnThis example simply put the argument which is string in the onClick attribute of the button which calls a function with a string as an argument using onClick[] method.
cell. title = function[] { clickTest[rowID]; };
7cell. title = function[] { clickTest[rowID]; };
8cell. title = function[] { clickTest[rowID]; };
9alert[this.id];
0cell. title = function[] { clickTest[rowID]; };
8alert[this.id];
2alert[this.id];
0alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8alert[this.id];
6alert[this.id];
0alert[this.id];
8alert[this.id];
9cell. title = function[] { alert[this.id]; alert[cell.id]; };
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
1alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3alert[this.id];
6alert[this.id];
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
3alert[this.id];
2alert[this.id];
0Nhiệm vụ là truyền một chuỗi dưới dạng tham số trên chức năng Onclick bằng JavaScript, chúng tôi sẽ thảo luận về một vài kỹ thuật.
cell. title = function[] { alert[this.id]; alert[cell.id]; };
0for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
5for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
7alert[this.id];
0Ví dụ 1: Ví dụ này chỉ cần đặt đối số là chuỗi trong thuộc tính title của nút gọi hàm với chuỗi làm đối số bằng phương thức title [].
title
6 title
7
alert[this.id];
8cell. title = function[] { alert[this.id]; alert[cell.id]; };
3 title
1alert[this.id];
0cell. title = function[] { clickTest[rowID]; };
8for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
0 ________ 41 ________ 42 ________ 43 & nbsp;clickTest
8clickTest
9
title
0 title
1
alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3clickTest
4alert[this.id];
0alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8 title
1 for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
1for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2 title
4 title
5alert[this.id];
8clickTest
4alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8clickTest
4 ________ 45 ________ 42 ________ 67 & nbsp;alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8 title
8 title
for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2clickTest
1alert[this.id];
0clickTest
8clickTest
6
title
0clickTest
8
title
0 title
1
alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3clickTest
4alert[this.id];
0alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8cell. title = function[] { clickTest[rowID]; };
07alert[this.id];
0alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
10 title
6
cell. title = function[] { clickTest[rowID]; };
12alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
14 title
6
cell. title = function[] { clickTest[rowID]; };
16alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
18cell. title = function[] { clickTest[rowID]; };
19cell. title = function[] { clickTest[rowID]; };
20cell. title = function[] { clickTest[rowID]; };
19cell. title = function[] { clickTest[rowID]; };
22alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
24 title
6
cell. title = function[] { clickTest[rowID]; };
26 title
6
cell. title = function[] { clickTest[rowID]; };
28alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
30alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3cell. title = function[] { clickTest[rowID]; };
07alert[this.id];
0
cell. title = function[] { alert[this.id]; alert[cell.id]; };
3for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
0alert[this.id];
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
3cell. title = function[] { clickTest[rowID]; };
9alert[this.id];
0Output:
4alert[this.id];
3cell. title = function[] { alert[this.id]; alert[cell.id]; };
title
8
0This example simply put the argument which is a string in the onClick attribute of the button which calls a function with string as an argument using onClick[] method. Here the input button is created dynamically. This example uses the same approach as the previous one.alert[this.id];
cell. title = function[] { clickTest[rowID]; };
7cell. title = function[] { clickTest[rowID]; };
8cell. title = function[] { clickTest[rowID]; };
9alert[this.id];
0alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8clickTest
4 for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
5for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2clickTest
4alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8alert[this.id];
6alert[this.id];
0alert[this.id];
8alert[this.id];
9cell. title = function[] { alert[this.id]; alert[cell.id]; };
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
1alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3alert[this.id];
6alert[this.id];
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
3alert[this.id];
2alert[this.id];
0Nhiệm vụ là truyền một chuỗi dưới dạng tham số trên chức năng Onclick bằng JavaScript, chúng tôi sẽ thảo luận về một vài kỹ thuật.
cell. title = function[] { alert[this.id]; alert[cell.id]; };
0for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
5for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
7alert[this.id];
0Ví dụ 1: Ví dụ này chỉ cần đặt đối số là chuỗi trong thuộc tính title của nút gọi hàm với chuỗi làm đối số bằng phương thức title [].
title
6 title
7
alert[this.id];
8cell. title = function[] { alert[this.id]; alert[cell.id]; };
3 title
1alert[this.id];
0cell. title = function[] { clickTest[rowID]; };
8for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
0 ________ 41 ________ 42 ________ 43 & nbsp;clickTest
8clickTest
9
title
0 title
1
alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8 title
1 for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
1for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2 title
4 title
5alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8 title
8 title
for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
2clickTest
1alert[this.id];
0clickTest
8clickTest
6
title
0clickTest
8
title
0 title
1
alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3clickTest
4alert[this.id];
0alert[this.id];
4cell. title = function[] { clickTest[rowID]; };
8cell. title = function[] { clickTest[rowID]; };
07alert[this.id];
0alert[this.id];
8alert[this.id];
21alert[this.id];
8alert[this.id];
23alert[this.id];
8alert[this.id];
25alert[this.id];
8alert[this.id];
27alert[this.id];
8alert[this.id];
29alert[this.id];
8alert[this.id];
31 title
6
alert[this.id];
33alert[this.id];
8alert[this.id];
35alert[this.id];
8alert[this.id];
37alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
18cell. title = function[] { clickTest[rowID]; };
19cell. title = function[] { clickTest[rowID]; };
20cell. title = function[] { clickTest[rowID]; };
19cell. title = function[] { clickTest[rowID]; };
22alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
24 title
6
alert[this.id];
47 title
0
alert[this.id];
49alert[this.id];
8cell. title = function[] { clickTest[rowID]; };
30alert[this.id];
4cell. title = function[] { alert[this.id]; alert[cell.id]; };
3cell. title = function[] { clickTest[rowID]; };
07alert[this.id];
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
3for[var loopObj of loopObjList]
mydiv.setAttribute[' title', 'javascript: pick_option[' + loopObj.id + ', "' + loopObj.value + '"];' ];
0alert[this.id];
0cell. title = function[] { alert[this.id]; alert[cell.id]; };
3cell. title = function[] { clickTest[rowID]; };
9alert[this.id];
0Output: