花式框使用IE时,不会在fancybox弹出窗口中打开页面

时间:2013-01-02 14:45:32

标签: c# jquery asp.net fancybox

我正在使用fancybox,如下所示

$(document).ready(function () {
            $('[id*=addnewRequest]').fancybox({
                'width': 760,
                'height': 540,
                'padding': 0,
                'margin': 0,
                'hideOnOverlayClick': false,
                'scrolling': 'auto',
                'autoScale': false,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'type': 'iframe',
                'centerOnScroll': true,
                'onClosed': function () {

                }
            });
        });

除了IE之外,所有浏览器都能正常运行。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

代码中的这一行:

$('[id*=addnewRequest]').fancybox( ...

....让我觉得你在同一份文件中为几个元素重复相同的ID,不是吗?

在这种情况下,IE的容忍度低于其他浏览器,并且对于具有相同ID但第一个选择器的此类选择器不起作用。这里记录了http://fancybox.net/faq,No.7。

ID s应该是唯一的,这意味着在同一个文档中只有一个元素应该具有相同的ID ....你应该使用 classes 代替这个:

<a id="addnewRequest" href="{first target}"...
<a id="addnewRequest" href="{second target}"...

...和

$('[id*=addnewRequest]').fancybox( ...

你应该:

<a class="addnewRequest" href="{first target}"...
<a class="addnewRequest" href="{second target}"...

...和

$('.addnewRequest').fancybox( ...