2013-07-27 29 views
0

當我將鼠標移動到餅圖上時,可以看到console.log寫入控制檯。所以我決定添加一個代碼來突出顯示匹配餅圖的表格行。Mouseover HighChart Pie時突出顯示錶格行

mouseOver: function(e) { 
    console.log(this.options.id); 
    $(this).find('#tableId tr#this.options.id').toggleClass("hover"); 
}, 
mouseOut: function(e) { 
    console.log(this.options.id); 
    $(this).find('#tableId tr#this.options.id').toggleClass("hover"); 
}, 
....... 

id="tableId

<table id="tableId"> 
    <tr id="someMatchingName"> 
     <td>Hello</td> 
    </tr> 
</table> 

我知道這是行不通的表。我看過使用live的例子,但似乎並不符合需要。有沒有人知道我應該用什麼來突出顯示行時,鼠標懸停在餡餅和鼠標不亮時。

感謝

回答

1

的ID應該是唯一的HTML,所以你可以寫只是

mouseOver: function(e) { 
    console.log(this.options.id); 
    $('#' + this.options.id).addClass("hover"); 
}, 
mouseOut: function(e) { 
    console.log(this.options.id); 
    $('#' + this.options.id).removeClass("hover"); 
}, 
....... 
+0

靜態參考像'#ID TR#trId'或'#trId'工作,但是動態引用作爲'#+ this.options.id'不起作用。我肯定這些「id」不存在於頁面上的任何地方。它應該有效,但我不知道爲什麼? –

+0

你看到任何東西在控制檯?基於[docs](http://api.highcharts.com/highcharts#plotOptions.pie.events)'this'是[[Series]](http://api.highcharts.com/highcharts#Series)對象,這就是你想要的。嘗試將'this'傾銷給控制檯。 – twil

+0

找出問題所在。我使用的'id'有空間,就像'我的Id'一樣,導致了問題。現在它在觀看深夜金剛狼之後得以修復。 –