繁体   English   中英

jQuery选项卡在某些选项卡上与另一个jQuery / JS代码一起使用时的bug

[英]jQuery tabs bug when using it with another jQuery/JS code on some tab

我正在构建一个简单的站点,在其中可以创建图并在其上使用一些算法。 可能会有很多算法,因此我必须考虑如何输出大量数据。

我有一些html代码(一些字段集,输入,按钮等)用于部分设置图形,部分用于算法。

我将不同的部分分为不同的选项卡。

在我设置图表的第一个选项卡上,我必须使用jQuery(获取输入值,阻止/取消阻止某些字段等),在另一个选项卡上,我目前使用的是简单文本。

问题是:当我刚加载页面时,所有选项卡都可以正常工作。 当我单击不同的选项卡时,div中的数据正在变化。 但是,如果我首先尝试创建一些顶点或边线或对图形进行任何操作,然后再尝试激活另一个选项卡,则会出现错误。 请看图片:

错误

它说:

TypeError: elem.nodeName.toLowerCase is not a function

var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];

它指的是jquery-1.10.2.js文件的3378行。

请注意 ,如果我在第一个选项卡上没有执行任何操作(没有尝试管理顶点/边/等),然后在任何选项卡上按,则一切正常。

这不是我的错误。 看起来是兼容性错误。 我不明白 你能为我澄清一下吗? 什么会导致此错误,以及如何将其删除? 谢谢。

这是我的html代码的head

<!-- for tabs -->
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<!-- for graph dracula framework -->
<script type="text/javascript" src="js/raphael-min.js"></script>
<script type="text/javascript" src="js/dracula_graffle.js"></script>
<script type="text/javascript" src="js/dracula_graph.js"></script>

<!-- my files -->
<script type="text/javascript" src="settings.js"></script>
<script type="text/javascript" src="algorithms.js"></script>

 <script>
$(function() {
    $( "#tabs" ).tabs();
});
</script>

如果我在jquery脚本中重写3378行周围的部分代码,它将很好用。 重写acceptData方法:

// A method for determining if a DOM node can handle the data expando
acceptData: function( elem ) {
    if ( elem.nodeName ) {
        var match = false;
        if (typeof elem.nodeName.toLowerCase != 'undefined')
            match = jQuery.noData[ elem.nodeName.toLowerCase() ];

        if ( match ) {
            return !(match === true || elem.getAttribute("classid") !== match);
        }
    }

    return true;
}

如果我们在那里处理错误,则一切正常。 这是一个非常肮脏的解决方案,但这只是实验室工作,所以我不在乎:)我希望这个答案对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM