簡體   English   中英

如何在文本框上附加onclick事件?

[英]How to attach onclick event on textboxes?

在此處輸入圖片說明 嗨,我想附加文本框上的單擊事件,附件中的值為A,與B相同。我正在使用以下代碼的dojo工具箱:

  window.onload = function () {

         dojo.query('.test').onclick(function(){
              alert('test');

            });
};

我有一個具有兩個列名和一個值的表控件,兩個列都包含文本框。在列名文本框上,我添加了一個名為'test'的類。表行動態增加,如附件所示。 現在我關心的是這些文本框是如何動態增加的,如何在這些文本框上附加事件。在Signle文本框上,這可以正常工作,但是表行增加了,如何找到具有相同類的特定文本框? 誰能幫我?

分別定義功能。

var myFunc = function() {
 alert('test');
};

現在,使用它來附加到文本框(就像您已經完成的一樣)

dojo.query('.test').onclick(myFunc);

但是,在添加新行時,您有責任將此功能附加到新添加的文本框中。 您可以通過名稱“ myFunc”來引用它。

注意:-再次運行代碼段-“ dojo.query('。test')。onclick(myFunc);” 將為現有文本框添加重復的處理程序。

如果要添加大量的處理程序, 或者屏幕上的信息是動態的,則需要使用委托事件處理程序。

使用委派,您只會添加一個處理程序,這對內存使用更好, 並且您會將處理程序添加到容器中,而不是將每個特定項添加到容器中,這意味着這些項本身可以安全地更改,而不必將處理程序重新附加到它們上。 。

有關更多詳細信息,我將為您提供一個出色的答案: 什么是DOM事件委托?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM