jquery - 错误: Invalid value for <svg> attribute width ="-Infinity" jsPlumb

标签 jquery jquery-ui svg jquery-plugins jsplumb

我有一个函数,可以在两个 div 之间创建一条以模式显示的线。

//A function that creates line instance.
function myid_create_line_instance(){ 

    jsPlumb_instance[0] = jsPlumb.getInstance();              
    var id1 = 'tpl_preview_line_1_pair_1';
    var id2 = 'tpl_preview_line_1_pair_2';  


    var endpointOptions = { 
        anchor:'BottomCenter',
        maxConnections:1,                      
        endpoint:['Rectangle',{width:'1px', height:'1px' }], 
        paintStyle:{fillStyle:'#00000', dashstyle:'3 3'},
        connectorStyle:{lineWidth:'1px',strokeStyle:'#000000'},
        connector:['Straight'],                                          
    };

    div1Endpoint = jsPlumb_instance[0].addEndpoint(id1, endpointOptions);
    div2Endpoint = jsPlumb_instance[0].addEndpoint(id2, endpointOptions);       

    jsPlumb_instance[0].connect({   
        source:div1Endpoint,
        target:div2Endpoint,
    }); 
    jsPlumb_instance[0].draggable(id1);
    jsPlumb_instance[0].draggable(id2);
}

执行代码后,抛出2个错误:

Error: Invalid value for <svg> attribute width="-Infinity" jsPlumb- 
2.1.2.js?o9evom:12902
_attr jsPlumb-2.1.2.js?o9evom:12902
paint jsPlumb-2.1.2.js?o9evom:13086
_ju.extend.paint jsPlumb-2.1.2.js?o9evom:8626
(anonymous function) jsPlumb-2.1.2.js?o9evom:2692
redraw jsPlumb-2.1.2.js?o9evom:9322
_draw jsPlumb-2.1.2.js?o9evom:3649
_currentInstance.finaliseConnection jsPlumb-2.1.2.js?o9evom:3926
connect jsPlumb-2.1.2.js?o9evom:4253
myid_create_line_instance myid_templates.js?o9evom:4614
myid_template_display_line myid_templates.js?o9evom:2215
jQuery.fn.myid_choose_template myid_templates.js?o9evom:4812
Drupal.ajax.commands.invoke ajax.js?v=7.34:608
Drupal.ajax.success ajax.js?v=7.34:400
ajax.options.success ajax.js?v=7.34:164
c jquery-1.10.2.js:3048
p.fireWith jquery-1.10.2.js:3160
k jquery-1.10.2.js:8235
r jquery-1.10.2.js:8778

第二个错误:

Error: Invalid value for <svg> attribute height="-Infinity" jsPlumb-2.1.2.js?o9evom:12902
_attr jsPlumb-2.1.2.js?o9evom:12902
paint jsPlumb-2.1.2.js?o9evom:13086
_ju.extend.paint jsPlumb-2.1.2.js?o9evom:8626
(anonymous function) jsPlumb-2.1.2.js?o9evom:2692
redraw jsPlumb-2.1.2.js?o9evom:9322
_draw jsPlumb-2.1.2.js?o9evom:3649
_currentInstance.finaliseConnection jsPlumb-2.1.2.js?o9evom:3926
connect jsPlumb-2.1.2.js?o9evom:4253
myid_create_line_instance myid_templates.js?o9evom:4614
myid_template_display_line myid_templates.js?o9evom:2215
jQuery.fn.myid_choose_template myid_templates.js?o9evom:4812
Drupal.ajax.commands.invoke ajax.js?v=7.34:608
Drupal.ajax.success ajax.js?v=7.34:400
ajax.options.success ajax.js?v=7.34:164
c jquery-1.10.2.js:3048
p.fireWith jquery-1.10.2.js:3160
k jquery-1.10.2.js:8235
r jquery-1.10.2.js:8778

我在 jsPlumb 初始化后尝试了下面的第一行代码;然后是连接两个 div 之后的下面的第二行代码,但没有成功。

 jsPlumb_instance[0].setSuspendDrawing(true);
 jsPlumb_instance[0].setSuspendDrawing(false, true);

我什至尝试了批处理方法,但没有任何改变。

jsPlumb_instance[0].batch(function() {
//Codes about connecting the two points of line.
}, false);

我注意到的一件事是,在模态中没有找到应该连接模态中两点的线。见下图:

enter image description here

我也尝试了下面的代码,但问题仍然出现。

jsPlumb_instance[id].repaintEverything();

最佳答案

当我的容器没有任何大小时,我遇到了同样的错误。我可以假设您应该为 jsPlumb 实例显式指定容器:

jsPlumb.getInstance({ Container:"editor" });

关于jquery - 错误: Invalid value for <svg> attribute width ="-Infinity" jsPlumb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38046702/

相关文章:

javascript - 如何修复给定行以避免使用 .remove 函数删除

javascript - 具有多个输入的 jQuery 自动完成 - django-dynamic-formset

reactjs - react-native-svg onPress 事件不工作

javascript - jquery/js closest().attr() 返回未定义

javascript - 如何通过下拉框过滤 div 的内容并隐藏结果,直到选择该选项。 (包括jsfiddle)

jquery - 如何隐藏元素内的文本内容但不隐藏子元素?

jquery - 动态创建的元素上的可删除和可排序功能不起作用

jquery - 如何在 jQuery UI 布局插件中创建嵌套的中心和南部?

html - 有没有一种方法可以确保 100% 忠实再现 CSS 或 SVG 中的边框图像?

firefox - 如何将 SVG 和 HTML 混合到一个页面中?