我知道之前已经问过这个问题,以前它曾经是一个bug等等,但我使用jQuery v1.11.0
应该修复它。我遇到的问题是,当我加载页面时,假设有效幻灯片(作为介绍)然后会出现一个按钮,让您进入主页面。在我的主页面中,我有一个flot实时图表,它放在一个名为“占位符”的div中。现在一切都运行得很好,但是一旦我尝试在任何其他div中嵌套“占位符”div,我就会得到event.returnValue is deprecated
警告和一个空白屏幕。所以基本上当我现在加载我的屏幕时,我只得到一个空白的白页,没有任何介绍。这是唯一执行的代码:
$(window).load(function () {
//Display Intro
$("#main").hide();
$("#blocker").hide();
$("#blocker").fadeIn(2000);//make my intro sexy
$("#btnEnter").show();
});//when this line is hit, it then throws that warning and I get a blank screen
这是我的全部代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebSockets.aspx.cs" Inherits="WebSockets_and_Multi_Threading.WebSockets" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Real Time Display</title>
<!-- Meta tag (for safari) -->
<meta content="width=device-width, minimum-scale=1, maximum-scale=1" name="viewport" />
<!-- Javascript -->
<script src="flot/jquery.js" type="text/javascript"></script>
<!-- <script src="jQuery-Mobile/jquery.mobile-1.4.1.js"></script> -->
<script src="flot/jquery.flot.js" type="text/javascript"></script>
<script src="flot/jquery.flot.crosshair.js" type="text/javascript"></script>
<script src="flot/jquery.flot.resize.js" type="text/javascript"></script>
<script src="flot/jquery.flot.threshold.js" type="text/javascript"></script>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="CSS/Intro.css" />
<link href="jQuery-Mobile/jquery.mobile-1.4.1.css" rel="stylesheet" />
<script type="text/javascript">
$(window).load(function () {
//Display Intro
$("#main").hide();
$("#blocker").hide();
$("#blocker").fadeIn(2000);
$("#btnEnter").show();
});
function loadMainMenu() {
debugger;
$("#blocker").hide();
$("#btnEnter").hide();
$("#main").show();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true" ScriptMode="Release" />
<!-- main menu -->
<div id="main">
<h1>ITPS Real Time Monitoring</h1>
<!-- Div for flot graph -->
<div id="chart-container">
<div id="placeholder" style="width: 600px; height: 220px;" />
<div id="placeholder2"></div>
</div>
</div>
<!-- Intro div -->
<div id="blocker">
<img id="introImage" src="Images/Untitled.png" alt="some_text" />
<input id="btnEnter" type="button" value="Enter" onclick="loadMainMenu();" />
</div>
<asp:Label ID="LabelError" runat="server" />
</form>
修改 在$(“#btnEnter”)。show()被调用之后,控制台然后进入这一小段jquery代码(来自库):
// Triggered event must either 1) be non-exclusive and have no namespace, or
// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
event.data = handleObj.data;
event.handleObj = handleObj;
ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
.apply( matched.elem, args );
if ( ret !== undefined ) {
event.result = ret;
if ( ret === false ) {
event.preventDefault();
event.stopPropagation();
}
}
并且在控制台中(调试时)ret似乎是'undefined'。
答案 0 :(得分:2)
我找到了。你错过了一个结束div标签:
<div id="placeholder" style="width: 600px; height: 220px;" />
这应该是:
<div id="placeholder" style="width: 600px; height: 220px;"></div>
您不能使用自动关闭div标签。这就是造成错误的原因。
请在此处查看:http://jsfiddle.net/fkXY9/1/
使用Javascript:
$(document).ready(function () {
$("#main").hide();
$("#blocker").hide();
});
$(window).load(function () {
$("#blocker").fadeIn(2000);
});
function loadMainMenu() {
debugger;
$("#blocker").hide();
$("#btnEnter").hide();
$("#main").show();
}
HTML:
<form id="form1" runat="server">
<div id="main">
<h1>ITPS Real Time Monitoring</h1>
<!-- Div for flot graph -->
<div id="chart-container">
<div id="placeholder" style="width: 600px; height: 220px;"></div>
<div id="placeholder2"></div>
</div>
</div>
<div id="blocker">
<img id="introImage" src="Images/Untitled.png" alt="some_text" />
<input id="btnEnter" type="button" value="Enter" onclick="loadMainMenu();" />
</div>
</form>
我还将隐藏事件移动到$(document).ready()函数。当它在window.load()函数中时,它会短暂显示然后隐藏,这就固定了。