Hướng dẫn javascript set onclick with parameters - javascript đặt onclick với các tham số

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.onclick = clickTest;
    
    cell.appendChild(textNode);
  }

Trong hàm trên, tôi đặt hàm onclick 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 onclick để 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 onclick của ô? Hoặc, làm cách nào để truy cập ID của ô trong hàm clickTest?

Cảm ơn, Jeff

Hướng dẫn javascript set onclick with parameters - javascript đặt onclick với các tham số

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.onclick = function() { clickTest(rowID); };

Ý tưởng là bạn đang ràng buộc trình xử lý onclick 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.onclick = 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.onclick = function() { alert(this.id); alert(cell.id); };

cell.onclick = 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.onclick = 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('onclick', '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

  • Đọc
  • Bàn luận
  • 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.onclick = function() { clickTest(rowID); };
    
    7

    cell.onclick = function() { clickTest(rowID); };
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    9
    alert(this.id);
    
    0

    cell.onclick = function() { clickTest(rowID); };
    
    8
    alert(this.id);
    
    2
    alert(this.id);
    
    0

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8
    alert(this.id);
    
    6
    alert(this.id);
    
    0

    alert(this.id);
    
    8
    alert(this.id);
    
    9

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    0
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    1

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    alert(this.id);
    
    6
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    alert(this.id);
    
    2
    alert(this.id);
    
    0

    Nhiệ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.onclick = function() { alert(this.id); alert(cell.id); };
    
    0
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    5
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    7
    alert(this.id);
    
    0

    Ví dụ 1: Ví dụ này chỉ cần đặt đối số là chuỗi trong thuộc tính onclick của nút gọi hàm với chuỗi làm đối số bằng phương thức onclick ().

    onclick6onclick7

    alert(this.id);
    
    8
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3onclick1
    alert(this.id);
    
    0

    cell.onclick = function() { clickTest(rowID); };
    
    8
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    0 ________ 41 ________ 42 ________ 43 & nbsp;

    clickTest8clickTest9

    onclick0onclick1

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3clickTest4
    alert(this.id);
    
    0

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8onclick1
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    1
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2onclick4onclick5

    alert(this.id);
    
    8clickTest4

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8clickTest4 ________ 45 ________ 42 ________ 67 & nbsp;

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8onclick8 onclick
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2clickTest1
    alert(this.id);
    
    0

    clickTest8clickTest6

    onclick0clickTest8

    onclick0onclick1

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3clickTest4
    alert(this.id);
    
    0

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    07
    alert(this.id);
    
    0

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    10

    onclick6

    cell.onclick = function() { clickTest(rowID); };
    
    12

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    14

    onclick6

    cell.onclick = function() { clickTest(rowID); };
    
    16

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    18

    cell.onclick = function() { clickTest(rowID); };
    
    19
    cell.onclick = function() { clickTest(rowID); };
    
    20

    cell.onclick = function() { clickTest(rowID); };
    
    19
    cell.onclick = function() { clickTest(rowID); };
    
    22

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    24

    onclick6

    cell.onclick = function() { clickTest(rowID); };
    
    26

    onclick6

    cell.onclick = function() { clickTest(rowID); };
    
    28

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    30

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    cell.onclick = function() { clickTest(rowID); };
    
    07
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    0
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    cell.onclick = function() { clickTest(rowID); };
    
    9
    alert(this.id);
    
    0

    Output:

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3onclick8
    alert(this.id);
    
    0
    This 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.

    cell.onclick = function() { clickTest(rowID); };
    
    7

    cell.onclick = function() { clickTest(rowID); };
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    9
    alert(this.id);
    
    0

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8clickTest4
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    5
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2clickTest4

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8
    alert(this.id);
    
    6
    alert(this.id);
    
    0

    alert(this.id);
    
    8
    alert(this.id);
    
    9

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    0
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    1

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    alert(this.id);
    
    6
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    alert(this.id);
    
    2
    alert(this.id);
    
    0

    Nhiệ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.onclick = function() { alert(this.id); alert(cell.id); };
    
    0
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    5
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    7
    alert(this.id);
    
    0

    Ví dụ 1: Ví dụ này chỉ cần đặt đối số là chuỗi trong thuộc tính onclick của nút gọi hàm với chuỗi làm đối số bằng phương thức onclick ().

    onclick6onclick7

    alert(this.id);
    
    8
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3onclick1
    alert(this.id);
    
    0

    cell.onclick = function() { clickTest(rowID); };
    
    8
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    0 ________ 41 ________ 42 ________ 43 & nbsp;

    clickTest8clickTest9

    onclick0onclick1

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8onclick1
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    1
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2onclick4onclick5

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8onclick8 onclick
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    2clickTest1
    alert(this.id);
    
    0

    clickTest8clickTest6

    onclick0clickTest8

    onclick0onclick1

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3clickTest4
    alert(this.id);
    
    0

    alert(this.id);
    
    4
    cell.onclick = function() { clickTest(rowID); };
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    07
    alert(this.id);
    
    0

    alert(this.id);
    
    8
    alert(this.id);
    
    21

    alert(this.id);
    
    8
    alert(this.id);
    
    23

    alert(this.id);
    
    8
    alert(this.id);
    
    25

    alert(this.id);
    
    8
    alert(this.id);
    
    27

    alert(this.id);
    
    8
    alert(this.id);
    
    29

    alert(this.id);
    
    8
    alert(this.id);
    
    31

    onclick6

    alert(this.id);
    
    33

    alert(this.id);
    
    8
    alert(this.id);
    
    35

    alert(this.id);
    
    8
    alert(this.id);
    
    37

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    18

    cell.onclick = function() { clickTest(rowID); };
    
    19
    cell.onclick = function() { clickTest(rowID); };
    
    20

    cell.onclick = function() { clickTest(rowID); };
    
    19
    cell.onclick = function() { clickTest(rowID); };
    
    22

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    24

    onclick6

    alert(this.id);
    
    47

    onclick0

    alert(this.id);
    
    49

    alert(this.id);
    
    8
    cell.onclick = function() { clickTest(rowID); };
    
    30

    alert(this.id);
    
    4
    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    cell.onclick = function() { clickTest(rowID); };
    
    07
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    for(var loopObj of loopObjList)
        mydiv.setAttribute('onclick', 'javascript: pick_option(' + loopObj.id + ', "' + loopObj.value + '");' );
    
    0
    alert(this.id);
    
    0

    cell.onclick = function() { alert(this.id); alert(cell.id); };
    
    3
    cell.onclick = function() { clickTest(rowID); };
    
    9
    alert(this.id);
    
    0

    Output:


    Làm thế nào để truyền các tham số trong hàm onclick trong javascript?

    Nhiệ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 ta sẽ thảo luận về một vài kỹ thuật ...
    Ví dụ 1: Ví dụ này chỉ cần đặt đối số là chuỗi trong thuộc tính onclick của nút gọi hàm với chuỗi làm đối số bằng phương thức onclick () ..
    Output:.

    Chúng ta có thể chuyển các tham số trong hàm onclick không?

    Để chuyển một giá trị dưới dạng tham số thông qua trình xử lý onclick, chúng tôi chuyển trong hàm mũi tên trả về một cuộc gọi cho hàm Sayhello. Trong ví dụ của chúng tôi, lập luận đó là một chuỗi: 'James': ... return (Sayhello ('James')}> chào); .... In our example, that argument is a string: 'James': ... return ( ); ...

    Làm thế nào để bạn chuyển các tham số cho Onclick React?

    Để vượt qua một sự kiện và tham số onclick trong React: Truyền hàm nội tuyến cho prop onclick của phần tử.Chức năng sẽ lấy đối tượng sự kiện và gọi HandleClick.Vượt qua sự kiện và tham số cho HandleClick.Pass an inline function to the onClick prop of the element. The function should take the event object and call handleClick . Pass the event and parameter to handleClick .

    Làm thế nào để bạn chuyển một phần tử cho một hàm onclick?

    Để chuyển phần tử này cho hàm onclick JavaScript và thêm một lớp vào phần tử đã nhấp đó, chúng ta có thể đặt thuộc tính onclick thành một hàm được gọi với cái này.Để đặt thuộc tính onclick cho các yếu tố A để gọi onclick với điều này.Trong mã JavaScript của chúng tôi.Chúng tôi gọi yếu tố.set the onclick attribute to a function that's called with this . to set the onclick attribute to the a elements to call onClick with this . in our JavaScript code. We call element.