Следующий фрагмент кода взят из jquery.graphviz.svg Внутри div есть изображение svg, которое называется "graph".Когда содержимое div заменяется другим svg, зарегистрированное здесь событие click теряется.
$(document).ready(function(){
$("#graph").graphviz({
url: "demo.svg",
ready: function() {
var gv = this
gv.nodes().click(function () {
var $set = $()
$set.push(this)
$set = $set.add(gv.linkedFrom(this, true))
$set = $set.add(gv.linkedTo(this, true))
gv.highlight($set, true)
gv.bringToFront($set)
})
$(document).keydown(function (evt) {
if (evt.keyCode == 27) {
gv.highlight()
}
})
}
});
});
Я попытался изменить "gv.nodes (). Click (function () {" на следующее без удачи
$ (document) .on ("click", gv.nodes (), (function () {...}
Есть ли другой способ решить эту проблему?
ОБНОВЛЕНИЕ:
При обратном вызове мутации оповещение работает в обратном вызове, но перерегистрация события щелчка не работает:
var gv = $('#graph').data('graphviz.svg')
gv.nodes().off().on('click',function () {alert('entered doc clck')