Получение пустой веб-страницы с предупреждением «event.returnValue устарело»

0

Я знаю, что это было задано раньше, и это было ошибкой и т.д., Но я использую jQuery v1.11.0 который должен был исправить. Проблема, с которой я сталкиваюсь, заключается в том, что когда я загружаю свою страницу, предполагается, что это эффект слайда (как ввод), появляется кнопка, которая позволит вам войти на главную страницу. На моей главной странице у меня есть график реального времени в реальном времени, который помещается в div под названием "placeholder". Теперь все работает отлично, но как только я пытаюсь вложить div "placeholder" в любой другой 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>

EDIT: после вызова $ ("# 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 кажется "неопределенным".

  • 0
    Вероятно, радость от обнаружения в браузере ... Хотя и должно быть что-то еще, «ошибка», вызывающая только предупреждение, не должна перехватывать сценарий.
  • 0
    это то, что сбивает меня с толку. Предупреждение не должно нарушать сайт. Я добавлю некоторую дополнительную информацию, потому что в коде jquery что-то не определено
Показать ещё 2 комментария

1 ответ

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>

Я также переместил ваши события hide в функцию $ (document).ready(). Когда он находился в функции window.load(), он отображался кратко, а затем скрывался, это исправляло это.

  • 0
    Вы не представляете, насколько я благодарен. Я думал, что div может быть самозакрывающимся тегом? если нет, то я мог сделать это случайно. Кажется, это все исправило. Также я только что понял, что не использую jquery 1.11, потому что у меня все еще были ссылки на jquery из папки flot и что jquery не был 1.11. Это было 1.8.3
  • 1
    Да, самозакрывающиеся теги div - плохая идея, хотя некоторые браузеры все еще признают их, они имеют тенденцию нарушать фреймворки, поскольку это технически неверный формат.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню