Запустите JavaScript после загрузки страницы - PullRequest
6 голосов
/ 01 апреля 2011

setup_account ui-mobile-viewport ui-overlay-c

Когда страница, которую я создаю, загружается примерно так:

var location    =   location.href+"&rndm="+2*Math.random()+" #updatecomment0>*"
$("#updatecomment0").load(location, function(){});

У меня есть несколько скриптов, работающих на updatecomment0 div:

<div id="updatecomment0">
    <div id="javascript1">hi</div>
    <div style="float:right;" class="javascript2">delete</div>
</div>

Я не знаю, как заставить другие JavaScripts запускать после загрузки страницы.
Может кто-нибудь, пожалуйста, скажите мне, как с этим.
Спасибо

Ответы [ 10 ]

12 голосов
/ 01 апреля 2011

Использование $(document).ready().

5 голосов
/ 01 апреля 2011

Используйте jQuery, вы можете сделать это очень легко.

jQuery(document).ready(function(){
    alert('Your DOM is ready.Now below this u can run all ur javascript');
});
2 голосов
/ 01 апреля 2011

Вот пример макета для вас

<script type="text/javascript">
    $(document).ready(function(){
        /// here you can put all the code that you want to run after page load
        function Javascript1(){
            //code here
        }

        function Javascript2(){
            // code here
        }

        $("#btnOK").live('click',function(){
            // some codes here
            Javascript1();
            Javascript2();
        });

    });
</script>

<div id="MyDiv">
    <input type="button" id="btnOK" value="OK"/>
</div>
2 голосов
/ 01 апреля 2011

введите код внутри ready

jQuery(document).ready(function(){

// write here
});

предложение: используйте live или bind

1 голос
/ 01 декабря 2014

$(document).ready() это все, что вам нужно.

1 голос
/ 01 декабря 2014
$(window).load(function() {
    // code here
});
1 голос
/ 01 апреля 2011

Если вам не нужен javascript для выполнения каких-либо действий перед загрузкой страницы, добавьте свои сценарии в конец документа html, непосредственно перед конечным тегом body . Страница загрузится быстрее, и вы можете делать все, что вам нужно, прямо в файле js, без функций готовности документа.

Если сценарии загружаются последними, DOM уже гарантированно готов к работе.

0 голосов
/ 10 мая 2013

Используя ванильный Javascript, это можно сделать так:

<html>
<head>
<script type="text/javascript">

// other javascript here

function onAfterLoad() { /*...*/ }

// other javascript here

</script>
</head>
<body>

<!-- HTML content here -->

<!-- onAfterLoad event handling -->
<div style="display:none;"><iframe onload="onAfterLoad();"></iframe></div>
</body>
</html>
0 голосов
/ 19 марта 2012

Надеюсь, это вам тоже поможет, у меня была похожая проблема, и я исправил ее, вызвав следующее сразу после загрузки содержимого на странице (например, после AJAX-запроса на отображение страницы внутри div): 1001 *

(function($) {
 $(document).ready(function() {
  // your pretty function call, or generic code
 });
}(jQuery));

Не забудьте вызывать это не в загружаемом документе, а в функции, которая его загружает, после загрузки.

0 голосов
/ 01 апреля 2011

Вы можете заставить JavaScript ждать указанное время, используя метод setTimeout:

.setTimeout("name_of_function()",time_in_millis);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...