jQuery + Fancybox在Internet Explorer 8上触发错误

3

我在网页上有一段jQuery代码,在Chrome中运行良好,但在Internet Explorer 8中,在trigger('click')行会出现错误。

$('#btnd16').click(function(e){
    var iiid = $('#midet').val();
    $('#d16_midethistorial_id').val(iiid);

    //sumamos por ajax
    var $mivalor = $('#d16_midethistorial_id').val() 
    var $url = $('input#miruta').val(); 

    $.post($url, { midethistorial_id: $mivalor }, 
        function(data) { 
                $("#nirefancy").fancybox({
                'width'         : '90%',
                'height'    : '90%',
                'transitionIn'  : 'elastic',
                'transitionOut' : 'elastic',
                'type'      :'inline',
                'autoDimensions': false,
                'autoScale' : false,
                        'scrolling' : 'no',
                'titleShow' : true,
            }).trigger('click');
    });

    return false
});

这是我的fancybox HTML代码:

<a href="{{ path('detformacion_play',{'id': detentrenamiento.detformacion.id }) }}"  id="nirefancy" style="display: none;">.</a>

我点击了一个按钮,通过ajax将一些数据插入到数据库中,之后我想打开一个fancybox。就像我说的,在Chrome中可以工作,但在IE8中却不行。

有什么帮助或线索吗? 提前致谢。

1个回答

5

脑海中首先有两种可能:

1)'titleShow' : true, <-- 对象末尾有额外的逗号,IE将其解释为撒旦

2)将事件处理程序包含在文档就绪块中:

$(document).ready(function () {
    $('#btnd16').click(function (e) {
    ...
});

很有可能是多余的逗号。 - John Green
哇啦啦啦!这是一个额外的逗号!现在页面已经正确加载,但当我点击时,在jquery-1.5.2.min.js第16行第14229个字符处出现错误。$('#btnd16').click...它在$(document).ready(function() {中与其他函数一起:http://pastebin.com/5PmS5CNT - ikerib
请尝试缩小问题的范围,然后再发布另一个问题,这样会更容易解决的 :) - karim79

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接