Javascript Jquery加载在firefox中不起作用

Javascript Jquery加载在firefox中不起作用,javascript,jquery,firefox,Javascript,Jquery,Firefox,我在开发一个网站时遇到了一个脚本问题。它在Safari、Opera和Chrome中运行良好,但在firefox中不起作用 当您单击一个链接时,我尝试将div#contain从内部链接加载到一个覆盖div,然后该div被取消隐藏。所有这些在我上面提到的浏览器中都可以正常工作,但在firefox中不起作用,单击功能只会像平常一样打开链接(重新加载页面) 你知道为什么它不能在Firefox中工作吗?我遗漏了什么 $(document).ready(function(){ var $

我在开发一个网站时遇到了一个脚本问题。它在Safari、Opera和Chrome中运行良好,但在firefox中不起作用

当您单击一个链接时,我尝试将div#contain从内部链接加载到一个覆盖div,然后该div被取消隐藏。所有这些在我上面提到的浏览器中都可以正常工作,但在firefox中不起作用,单击功能只会像平常一样打开链接(重新加载页面)

你知道为什么它不能在Firefox中工作吗?我遗漏了什么

$(document).ready(function(){


    var     $ov = $('.overlay'),
        $tp = $('#transparent'),
        URL = ' ',
        siteURL = "http://" + top.location.host.toString(),     
        $internal = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']:not('.no')"),      
        hash = window.location.hash,
        $el, $allLinks = $("a");


        $tp.hide();
        $ov.hide();


        $tp.click(function(){

            $ov.empty();
            $tp.hide();
            $ov.hide(); 

        });


        if (hash) {

            $ov.show();
            $tp.show();         
            hash = hash.substring(1);
            URL = hash + " #contain";

            $ov.load(URL);

            };

        $internal.each(function(){

            $(this).attr("href", "#" + this.pathname);

            }).click(function(){

                $tp.show();
                $ov.show();

                $el  = $(this);
                URL = $el.attr("href").substring(1);
                URL = URL + " #contain",

                $ov.load(URL);

            });
    });
而不是
$tp。单击(函数)(

试一试


我认为您的click函数中缺少preventDefault。这告诉jQuery/javascript不要遵循默认操作,在您的情况下,无论链接指向HREF中的哪个位置,都会遵循默认操作

而不是

$tp.click(function(){
    $ov.empty();
    $tp.hide();
    $ov.hide();
}); 
应该是

$tp.click(function(e){
    e.preventDefault;
    $ov.empty();
    $tp.hide();
    $ov.hide();
});

尝试更改浏览器的默认行为:

(event.preventDefault) ? event.preventDefault() : event.returnValue = false;

我试过了,但得到了和以前一样的结果。还有其他建议吗?我认为点击功能甚至没有问题。我的猜测是,我针对内部链接的方式,不知怎么的,没有按预期的方式工作。在其他浏览器中,链接更新如下:www.website.com/#/link,但在firefox中,它们仍然是这样的:www.website.com/link我想这方面一定有问题。我的一个局部视图也有同样的问题。请尝试在$ov.load(URL)之前添加一个警报,看看是否有效。它对我来说是有效的。我仍在搜索它为什么会这样做和/或如何修复它。
(event.preventDefault) ? event.preventDefault() : event.returnValue = false;