0

我在我的网站上为“告诉朋友”应用程序制作了一个自定义 jquery 弹出框。它使用 jQuery 加载函数从 Modules 文件夹中包含一个 php 文件并将其显示到弹出框中。CSS 工作正常,但是当我将 Javscript 绑定到它时,它根本不起作用。

下面的代码弹出“从模块文件夹告诉朋友表格”

/* Popup for Email to a friend*/
    $("#emailtoafriend").click(function (){
        $("#overlay").removeClass("overlayHide");
        $("#overlay").addClass("overlayShow");
        $("#overlay").fadeIn("slow");
        $("#popup").load('modules/mod_tellafriend/default.php');
            return false;
    });

下面的代码在用户单击关闭按钮时触发。这不起作用

$(".btnClose").click(function (){
    alert("Works");
    $("#overlay").fadeOut("slow");
    $("#overlay").removeClass("overlayShow");
    $("#overlay").addClass("overlayHide");
        return false;
});

下面是我在这个弹出框上使用的 CSS

.overlay{
    width: 100%;
    height: 100%;
    position: absolute;
}

.overlayHide{
    display: none;
}

.overlayShow{
    display: block;
    background: url(../images/overlay.png) repeat;
    z-index: 1;
}

.popups{
    border: 1px solid #666;
    background-color: #FFF;
    width: 400px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 150px;
    padding: 10px;
    -webkit-box-shadow: 0px 1px 14px rgba(255, 255, 255, 1);
    -moz-box-shadow:    0px 1px 14px rgba(255, 255, 255, 1);
    box-shadow:         0px 1px 14px rgba(255, 255, 255, 1);
}

.popupTitle{
    font-weight: bold;
    font-size: 16px;
    border-bottom: 1px solid #CCC;
    padding-bottom: 5px;
}

.popupdescription{
    font-size: 12px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.btnsubmit{
    width: 100px;
    line-height: 20px;
    font-weight: bold;
    background-color: hsl(120, 69%, 17%) !important; background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#23c123", endColorstr="#0d490d"); background-image: -khtml-gradient(linear, left top, left bottom, from(#23c123), to(#0d490d)); background-image: -moz-linear-gradient(top, #23c123, #0d490d); background-image: -ms-linear-gradient(top, #23c123, #0d490d); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #23c123), color-stop(100%, #0d490d)); background-image: -webkit-linear-gradient(top, #23c123, #0d490d); background-image: -o-linear-gradient(top, #23c123, #0d490d); background-image: linear-gradient(#23c123, #0d490d); border-color: #0d490d #0d490d hsl(120, 69%, 10%); color: #fff !important; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.46); -webkit-font-smoothing: antialiased;
}

.btncancel{
    width: 100px;
    line-height: 22px;
    font-weight: bold;
    color: #000;
    border: 1px solid #CCC;
    background: #FFF;
}

怎么了?为什么 CSS 可以正常工作而 JavaScript 不能。我所有的 Javascript 都加载在页面底部(不在头部)。

4

1 回答 1

0

$.load 无法加载 jsfile 或 javascript。

您可以将 jsfile 放在调用 load 的父页面中;

并将 js 放入 $.load 函数中,例如:

$("#popup").load('modules/mod_tellafriend/default.php',function(){
     //javascript
});
于 2013-06-15T05:28:57.323 回答