簡體   English   中英

將事件添加到DOM之前,將其單擊事件添加到jQuery對象

[英]click event to a JQuery object before adding it to the DOM

我相信,在將click事件添加到DOM之前,將click事件附加到JQuery對象是這樣完成的。

 $('.Button').on('click', '#Your-Selection', function () {
 console.log("yeahhhh!!! but this doesn't work for me :(");
 });

有沒有一種方法可以將其附加到#Your-Selection的span子代中。 這不起作用,但是類似:

 $('.Button').on('click', '#Your-Selection span', function () {
 console.log("yeahhhh!!! but this doesn't work for me :(");
 });

請這樣使用

$(document).on('click', '#Your-Selection span', function () {
  console.log("yeahhhh!!! this will work for you :)");
});

這會將點擊事件附加到#Your-Selection的span子級

我認為您不是在問正確的問題,請查看方法文檔中的jquery: http : //api.jquery.com/on/

如果兩個按鈕都不存在(在DOM加載時),最好將其附加到主體,但如果存在,則最好將整個文檔或您在DOM中擁有的最接近的標記附加到主體。

您應該執行以下操作:

$("body").on("click", ".Button #Your-Selection span", function(){
  //whatever you want
});

根據jQuery API 文檔,我對以下解決方案有疑問。 我認為正確的方法如下:

$('#Your-Selection').on('click','span',function(){
    console.log('yeahhhh!!! this will work');
});

因此,如果按鈕在范圍內,則可以按以下方式修改上面的代碼

$('#Your-Selection').on('click','span .Button',function(){
    console.log('yeahhhh!!! this will work');
});

因此,事件只需要向上泡沫即可。 如果您使用documentbody事件,並且您的HTML結構復雜,則需要將其擴展到多個級別。

暫無
暫無

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

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