0

该页面可以在

http://cistrome.org/cps/seqconfig?did=2693

在 Firebugs 中加载时,它给了我这个错误:

TypeError: $(".open_gene").on is not a function
[Break On This Error]   

$(".open_gene").on('change', function(event) {

但是,如果我在 Firebug 的控制台中输入这个表达式,它可以被评估为一个函数而没有任何问题:

>>> $(".open_gene").on
function()

我想知道导致此问题的原因可能是什么。有人对此有想法吗?谢谢!

4

3 回答 3

5

.on()可从 jQuery v1.7 获得,您的站点中有 1.6.4 版本

编辑

在您的 html 中加载 1.6.4 版本,然后在 javascript 中加载 1.7.2 版本,但您的 bindingssites.js 在 1.7.2 版本之前加载,因此.on()当时不可用,但稍后在控制台中可用。我建议将您的 jquery 后备加载程序放在第一个 jQuery 脚本之后

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
    function check_jquery() {
        //console.log('jquery');
        var jquery = window.$ || window.JQuery;
        //console.log('jquery: '+(jquery?(jquery.fn?jquery.fn.jquery:'null'):'null'));
        if (jquery === undefined || jquery.fn.jquery !== '1.7.2') {
            mygene.loadfile(mygene.url_root + 'js/jquery-1.7.2.min.js', 'js', check_jquery_ui);
            //console.log('jquery: loaded');
        } else {
            check_jquery_ui();
        }

    };
    check_jquery();
</script>
于 2012-11-19T04:59:00.733 回答
2

您正在加载一个非常旧版本的 jQuery (1.6.4)。on()直到 1.7 才添加。

于 2012-11-19T04:59:09.080 回答
1

您正在加载两个版本的 jQuery:1.6.4 和 1.7.2。您在 1.6.4 之后加载 1.7.2。

在失败的情况下,它使用的是 1.6.4,但后来当您打开 Firebug 时,它使用的是后来加载的 1.7.2。

于 2012-11-19T05:06:33.663 回答