2012-01-17 77 views
0

這裏我無法將我新創建的html上的點擊事件綁定爲#topics-lists 我的所有其他代碼都正常工作,除了這個新創建的元素 這是使用jQuery 1.6版本,我所有的js文件IM無法在新創建的元素上綁定事件

$('document').ready(function() 
{ 

var val1; 
var val2; 

$('#class-lists').find('a').click(function() 
{ 
    val1=$(this).attr('data-class'); 
    $('#Varclass').attr('value',val1); 
}); 

$('#subject-lists').find('a').click(function() 
{ 
    val2=$(this).attr('data-subject'); 
    $('#Varsubject').attr('value',val2); 
    $.getJSON('http://localhost:8080/data/values/lists?standard='+val1+'&subject='+val2,function(data) 
    { 
      if(data.result=="Success") 
      { 
      var aa=[]; 
      $.each(data.topics,function(key,val){ 
       console.log(val); 
       aa.push('<div class="ui-block-b" ><a data-topic="'+val+'" href="#subtopics" data-transition="slide"><div class="block-c">'+val+'</div></a></div>'); 

      }); 
      $('#topics-lists').html(aa.join('')); 

      } 

    }); 
}); 

$('#topics-lists').find('a').bind('click',function(){alert('hi');}); 


}); 

請幫我找到出路呢 感謝您的寶貴時間

+0

您知道' .val()'和'.data()'?不需要爲'value'和'data- *'使用'.attr()'! – ThiefMaster 2012-01-17 18:37:29

+0

伴隨您的Javascript的HTML總是有幫助的,因爲它提供了代碼應該如何與元素交互的更好視圖,以及使用的正確選擇器。 – 2012-01-17 18:48:01

回答

0

您需要將事件綁定之後將其添加到DOM,即

... 
if(data.result=="Success") { 
... 
    $('#topics-lists').html(aa.join('')); 
    $('#topics-lists').find('a').unbind('click').bind('click',function(){alert('hi');}); 
} 
.. 

或者您可以使用jQuery的生活(在1.7不贊成使用)

相關問題