我做了噩梦,用Javascript来关闭这个div .. 我的目标是在perosn提交表单和X按钮关闭它时立即获取div弹出窗口。
if(isset($_POST['letter1']))
{
echo'<div id="popup">';
echo' <div class="close">X</div>
';
echo'<img src="images/guytalk.jpg" width="400" height="450">';
echo'<h2>Hello</h2>';
echo' ';
echo'<i>';
switch ($letter1)
{
<!--PHP Code -->
}
echo'</i>';
echo' ';
echo'How do you do?';
echo'<div class="loader"></div> <div id="backgroundPopup"></div>';
echo'</div>';
}
else
到目前为止我的Javascript ..
<script>/* event for close the popup */
$("div.close").hover(
function() {
$('span.ecs_tooltip').show();
},
function () {
$('span.ecs_tooltip').hide();
}
);
$("div.close").click(function() {
disablePopup(); // function close pop up
});
$(this).keyup(function(event) {
if (event.which == 27) { // 27 is 'Ecs' in the keyboard
disablePopup(); // function close pop up
}
});
$("div#backgroundPopup").click(function() {
disablePopup(); // function close pop up
});
</script>
如果你能指出错误,我将不胜感激。非常感谢 ! 我明天要提交!:P
答案 0 :(得分:0)
首先,确保您的jQuery调用都在$(document).ready()
函数内,如下所示:
<script>
$(document).ready(function() {
/* All of your code that references the DOM should go here */
$("div.close").click(function() {
alert("clicked!");
});
});
</script>
如果你想知道disablePopup函数的样子,可能是这样的:
$("#popup").hide();
但是,如果您已经拥有该功能并且您只是遇到无法识别的错误,请尝试按照以下步骤查明错误:
首先,确保您使用具有javascript调试程序的浏览器查看该页面。例如,如果您使用的是Firefox,则获取FireBug扩展名。它会显示实际的javascript错误,如果有的话。
其次,如果某些内容无效,您应该尝试消除所有其他错误来源,并将代码减少到最重要的部分。例如,按如下方式注释掉您的代码:
<script>/* event for close the popup */
/*
$("div.close").hover(
function() {
$('span.ecs_tooltip').show();
},
function () {
$('span.ecs_tooltip').hide();
}
);
*/
$("div.close").click(function() {
disablePopup(); // function close pop up
});
/*
$(this).keyup(function(event) {
if (event.which == 27) { // 27 is 'Ecs' in the keyboard
disablePopup(); // function close pop up
}
});
$("div#backgroundPopup").click(function() {
disablePopup(); // function close pop up
});
*/
</script>
这样,如果其余代码中存在错误,您可以确定它们的位置。最后,将您的disablePopup()函数替换为alert("close button clicked")
之类的其他函数,以验证单击处理程序是否正常工作。
如果您执行所有这些步骤,您应该能够缩小问题范围。
答案 1 :(得分:0)
将代码写入“ready”事件:
$(document).ready({
//$("div.close")....
});
古德勒克