【问题标题】:jQuery ajax load function doesn't include custom javascript filejQuery ajax 加载函数不包含自定义 javascript 文件
【发布时间】:2013-06-11 19:26:14
【问题描述】:

我在我的网站上为“告诉朋友”应用程序制作了一个自定义 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 都加载在页面底部(不在头部)。

【问题讨论】:

  • 你也可以添加css类
  • 应该$(".btnClose") 是$("#btnClose")?

标签: javascript jquery function load


【解决方案1】:

$.load 无法加载 jsfile 或 javascript。

你可以把jsfile放在调用load的父页面中;

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

$("#popup").load('modules/mod_tellafriend/default.php',function(){
     //javascript
});

【讨论】:

    猜你喜欢
    • 2012-10-16
    • 1970-01-01
    • 2017-05-11
    • 2013-07-18
    • 2012-05-27
    • 2018-02-10
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多