Я настроил рабочий пример здесь .Вы не можете делать то, что просите, используя только Protovis, потому что Protovis не может устанавливать обработчики событий в таблице HTML.Для этого вам, как правило, необходимо:
- Установить переменную для хранения состояния (в данном случае, какая из строк должна быть выделена)
Установите визуальный параметр, который вы хотите изменить в своем коде Protovis (в данном случае fillStyle
), на функцию, которая проверяет переменную состояния:
.fillStyle(function(d) { return hilighted == d.name ? "orange" : "blue" });
Установите обработчик событий в таблице HTML (я использовал jQuery, поскольку ваш тег указал, что вы тоже это используете), который изменяет переменную состояния и повторно отображает vis.
В jQuery:
$('#myTable tr').mouseover(function() {
// set the state variable
hilighted = $(this).data('name');
// re-render the vis
vis.render();
});
Есть и другие способы сделать это, но это, как правило, самый простой способ, и для взаимодействий, затрагивающих другие части страницы, как правило, рекомендуется хранить состояние в отдельной переменной внеВаш код Protovis.