2015-10-27 68 views
1

我的代碼只是抓住trello板名稱,將其放入大括號中,並在單擊「添加卡片」時將其插入文本區域。但是,除非我刷新頁面,否則它不會將板名插入文本區域。JavaScript未運行,直到刷新頁面

這裏是我的代碼:

$(document).ready(function() { 

    $('.js-open-card-composer').click(function() { 
     setTimeout(addTitle, 100); 
    }); 


}); 


function addTitle() { 
     var boardName; 
     boardName = document.title.replace(' | Trello', ''); 
     $('.list-card-composer-textarea').each(function() { 
      $(this).val('{' + boardName + '}'); 
     }); 
} 

我已經嘗試過$(窗口).load。

在此先感謝

+0

可不可以給問題的一個小例子,在一個片段的形式,或者擺弄? –

+2

你可以在ready函數中使用console.log'$('。js-open-card-composer')'和在addTitle函數中使用console.log'$('。list-card-composer-textarea')'肯定他們都找到了一些東西 – PhilVarg

+0

直到我刷新頁面,'$('。js-open-card-composer')'的長度爲0,'$('。list-card-composer-textarea')'不顯示。刷新後,js-open-card-composer的長度變得大於0,然後.list-card-composer-textarea顯示出來。 – PHG

回答

1

你應該結合體不是元素櫃面它不存在

$('body').on('click', '.js-open-card-composer',function() { 
    //probably don't need the timeout anymore 
    setTimeout(addTitle, 100); 
}); 
+0

我嘗試了超時而沒有超時,他們都沒有顯示板名。 – PHG

+0

你在html中有一個body標籤嗎? –