簡體   English   中英

div上的JavaScript click事件

[英]JavaScript click event on div

我正在處理JavaScript項目,但單擊事件有問題,並且正在檢索有關單擊元素的正確信息。 我對JavaScript比較陌生。

我正在使用的實際代碼相當復雜,但是我只發布了一部分代碼來說明我的問題。

 function App(){ this.name = "New App"; } App.prototype.createDIV = function() { var h = "<div class='clickable' id='idToShow'><div class='name' id='notToShow'>" + this.name + "</div></div>"; $('#content').html(h); } App.prototype.showID = function(e) { if (e.target.id == 'idToShow') { alert(this.name); // this doesn't display, because incorrect ID is retrieved } } $(document).ready(function() { var newApp = new App(); $("input#btn").click(newApp.createDIV.bind(newApp)); $("div").on("click", ".clickable", newApp.showID.bind(newApp)); }); 
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> </head> <div id="content"></div> <input type="button" id="btn" value="CLICK"> 

我的應用程序中有一個帶有多個原型的對象。 在文檔加載時,將構造對象,將事件附加到元素並綁定到對象。 單擊該按鈕,將動態創建一組新的div結果。

現在,這對我來說開始出錯了。 我將一個事件附加到類為CLICKABLE的div上,我想檢索該特定DIV元素的id(id ='idToShow'); 但是,我一直在檢索以下DIV的ID(id ='notToShow')。

我可能不完全了解為什么會發生這種情況,以及如何采取措施防止這種情況以獲取正確的ID。

嘗試使用if (e.currentTarget.id == 'idToShow')代替if (e.target.id == 'idToShow')

暫無
暫無

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

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