2016-02-07 24 views
1

我想創建搜索建議。輸入類型以這種方式創建:jQuery .click()不在搜索建議中工作

<div class="signup_content_3"> 
    <div class="signup_fieldName"> 
     <p> 
      title 
     </p> 
    </div> 
    <div class="signup_text signup_input signup_search_parent" id="signup_flavorActor"> 
     <input type="text" class="signup_searchType"> 
     <div class="signup_suggestion"> 

     </div> 
    </div> 

我jQuery的功能找到鑰匙起來是:

$('.signup_searchType').keyup(function(event){ 
    $.ajax({url:"http://localhost:8000/auth/search/",success:function(result){ 
     id=event.target.id; 
     var parent=event.target.parentElement.parentElement; 
     var add=parent.getElementsByClassName('signup_suggestion')[0]; 
     add.style.display='block'; 
     var child=add.firstChild; 
     while(add.firstChild){ 
      add.removeChild(add.firstChild); 
     } 
     for(var i=0;i<Object.keys(result).length;i++){ 
      var div=document.createElement('div'); 
      div.innerHTML=result[i]; 
      div.className='signup_oneSuggestion'; 
      add.appendChild(div); 
     } 
    }}) 
}); 

和我的jQuery的點擊功能是:

$('.signup_oneSuggestion').click(function(event){ 
    console.log('click'); 
}); 

當我鍵入搜索類型搜索建議出現,但是當我點擊它們不會在控制檯中打印任何內容。

回答

0

使用.on()(jQuery的1.7)與元件的祖先,因爲它是動態創建

$('.signup_suggestion').on('click', '.signup_oneSuggestion', function(event) { 
    console.log('click'); 
}); 
+0

由於被分配的事件。有效。 – hamid

+0

沒問題!隨時標記爲正確的答案,以幫助其他用戶在未來找到它 –

0

動態創建的元素可以以這種方式

$('body').on('click', '.signup_oneSuggestion', function(event) { 
    console.log('click'); 
}); 
+0

謝謝。有效 – hamid