【发布时间】:2023-03-19 00:23:02
【问题描述】:
我正在做一个项目。所以我在这里所做的是,在 jsPlumb 中,我在屏幕上动态加载 DIV 元素,当我尝试在任意 2 个元素之间建立连接时,连接事件触发的次数与动态加载的 DIV 元素的数量一样多屏幕,而我希望它只触发一次。
这是我上面描述的代码:
$('#container').dblclick(function(e) {
var newState = $('<div>').attr('id', 'state' + i).addClass('item');
var title = $('<div>').addClass('title').text('State ' + i);
var connect = $('<div>').addClass('connect');
newState.css({
'top': e.pageY,
'left': e.pageX
});
jsPlumb.makeTarget(newState, {
anchor: 'Continuous'
});
jsPlumb.makeSource(connect, {
parent: newState,
anchor: 'Continuous'
});
newState.append(title);
newState.append(connect);
$('#container').append(newState);
jsPlumb.draggable(newState, {
containment: 'parent'
});
jsPlumb.bind("connection", function (info, originalEvent) {
alert(info.sourceId);
});
i++;
jsPlumb.bind() 中的事件连接触发了多次。
【问题讨论】: