2014-01-13 35 views
1

我試圖用,但沒有運氣jQuery的:在Highcharts動態綁定事件對象

$("parent").on("click","child",function(){ 
    // 
} 

我的HTML坐在這樣

<ul id="carouselRoot"> 
    <li id="container0"><div class="highcharts-container">.....</li> 
    <li> 
     <ul id="subCarousel"> 
      <li id="container1"><div class="highcharts-container">.....</li> 
      <li id="container2"><div class="highcharts-container">.....</li> 
      <li id="container3"><div class="highcharts-container">.....</li> 
     </ul> 
    </li> 
</ul> 

我試圖捕捉點擊事件在每個圖表上。因此,$(「。highcharts-container」)。click()可以正常工作,但我也將動態圖添加到#subCarousel。

,做

$("#subCarousel li").on("click",".highcharts-container",function(){}); 

根本不會調用呼叫。我如何解決這個問題? PS:我也嘗試使用body作爲父項。

回答

1

你的代碼你爲什麼不使用Highchart API,用於捕獲點擊

$('#container').highcharts({ 
     chart: { 
      events: { 
       click: function(event) { 
        alert ('clicked'); 
       } 
      }   
     } 
}); 

DEMO

+0

這樣做,謝謝 – nunchuckNinja

1

包裹內$(document).ready(function(){.....})

$(document).ready(function(){ 
    $("#subCarousel li").on("click",".highcharts-container",function(){ 
     alert('fgfg'); 
    }); 
}); 

FIDDLE

+0

是的,沒有那個運氣。這個問題實際上是在highcharts-container元素中,它簡單地拒絕將click事件傳播給它的父項.. – nunchuckNinja