没有.onclick事件的Jquery背景覆盖/警报 - php响应者?

时间:2010-05-20 00:33:35

标签: php jquery

我没有使用jquery或javascript的经验。 我正在尝试实现此技术,以响应用户的错误或消息。

lights-out-dimmingcovering-background-content-with-jquery

这个方法使用onclick事件,而不是后来的事情,我试图用.load替换.onclick,但这似乎不起作用。我正在快速修复,因为我真的没有时间学习jquery或它的事件处理程序。

目标是捕获任何错误或消息,一旦调用这些错误或消息,就会调用警报框,而不会执行任何其他操作,例如.onclick。

我的代码看起来如何:

{PHP}
$forms = new forms();
if(count($forms->showErrors) > 0 // or == true)
{
    foreach($forms->showErrors as $error)
    {
        print('<p class="alert">'.htmlspecialchars($error, ENT_QUOTES).'</p>');
    }
}

编辑: 全部固定,谢谢!

1 个答案:

答案 0 :(得分:2)

您使用“.load”处于正确的轨道上,但是您希望将此功能绑定到页面的“就绪”事件(当DOM完成时;您不需要等待加载事件) ,所以这是你需要改变的 - 假设你在Lights Out页面上使用代码示例:

$(document).ready(function(){  

    //Adjust height of overlay to fill screen when page loads  
    $("#fuzz").css("height", $(document).height());  

    //When the link that triggers the message is clicked fade in overlay/msgbox  
    //$(".alert").click(function(){  
    //  $("#fuzz").fadeIn();  
    //  return false;  
    //});

    // INSTEAD: If any errors are present in the page, fade in the layer:
    if ( $("p.alert").length ) {
        $("#fuzz").fadeIn();
    }
    // end of change

    //When the message box is closed, fade out  
    $(".close").click(function(){  
        $("#fuzz").fadeOut();  
        return false;  
    });  

});  

//Adjust height of overlay to fill screen when browser gets resized  
$(window).bind("resize", function(){  
    $("#fuzz").css("height", $(window).height());  
});

确保也包含图层的HTML和CSS。