Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jquery函数在页面加载之前启动

jquery函数在页面加载之前启动
EN

Stack Overflow用户
提问于 2013-06-01 13:10:54
回答 3查看 659关注 0票数 3

我有一个php页面,在头部有一些到js文件的外部链接,在正文中我有一些来自jquery的可选元素(有时我没有它们,因为如果用户登录就会生成thouse元素)。问题出在我写的javascript中,我得到这个错误: TypeError: Object没有方法'disableSelection‘。即使我在php中添加了一个".sortable“元素,我仍然会得到这个错误。在html中,它看起来没有任何问题,而且运行良好。给出错误的代码如下:

对不起,我的英语不好。我可以把洞代码,如果你想,但太大了。我认为问题是因为javascript加载太快,或者在html生成之前(我试图在js中放一个变量,该函数放在if()下,但不起作用)。

javascipt(scripturi.js):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 var logat=0;

$(document).ready(function() {

    $( ".sortable0" ).sortable();
    $( ".sortable0" ).disableSelection();

    $( ".sortableIt" ).disableSelection();
    $( ".sortableIt" ).sortable(
    {
        stop: function(event, ui) 
        {
            for(var i=0;i<ui.item.parent().children().length;i++)
            {
                 var x =ui.item.parent().children()[i].id;
                 //update items din acest sertar
                //updateItemServer(x,i)
                //alert(x+ " " + i);   
            }       
        }
    });

    $( ".sortable" ).disableSelection();
    $( ".sortable" ).sortable({ stop: function(event, ui) {reparaZindex();}});

});


function updateItemServer(x,i){
//alert(x+" "+i);

}

 function incarca(){
    $(document).ready(function (){
            $.getJSON("http://students.info.uaic.ro/~calin.chifan/api/compartiment/list.json", function(data){ 
                var html = [];
                /* loop through array */
                $.each(data, function(index, d){   
                    addCompartiment(d.nume_comp,d.id);
                });
            }).error(function(jqXHR, textStatus, errorThrown){ /* assign handler */
                alert("error occurred!");
            });
    });
}

function addCompartiment(nume,id){
     $("#sortable0").append('<ul class="sortable" id'+ +'>');
}


 function updateIndexServer(x,y){
 //alert(x+" "+y);
 //trimite id-ul x si pozitia y
 }

function reparaZindex(){
    $.each($(".sortable > li"), function() 
    {
        if($(this).find('.sertar')[0])
        {
            $(this).find('.sertar').eq(0).css('z-index',(500-$(this).index()*2));
            updateIndexServer($(this).find('.sertar')[0].id,$(this).index())
        }

        if($(this).find('.sortableIt')[0])
            $(this).find('.sortableIt').eq(0).css('z-index',(501-2*$(this).index()));               
    }); 
} 

window.onload = function() {
    //incarca();
    //reparaZindex();
}

奇怪的是,在html中我没有这个问题。用户登录后,我想调用一个函数来附加一些ul (.selectable)元素,但是到目前为止,它甚至没有注意到有一些元素。如果你愿意,我可以给你一个我工作的页面的链接。

一点php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <?php
    ini_set('session.save_path', '/tmp/');
    session_start();

        $logged=0;
        if(isset($_SESSION['autentificat']))
        {
            if($_SESSION['autentificat']==1)  
            $logged=1;
        }
      $user= $_COOKIE['user'];
    echo'
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <!DOCTYPE html>
    <html>
    <head>
    <title>Proiect Web</title>

      <meta charset="utf8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>jQuery Dropdown Login Freebie | The Finished Box</title>
       <link rel="stylesheet" type="text/css" href="main.css">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
        <script src="login.js"></script>
            <script src="scripturi.js"></script>
            <script src="dulap.js"></script>
            <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
            <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>


            <script src="login.js"></script>
            </head>'
            ;

      if($logged==1)
      {
        echo'<body onload="loadYeslog()">';



      }  
  else {
    echo'<body onload="loadNoLog()">';
  }

echo
    '<div class="mainbar">

                <div id="loginContainer">
                <div id="loginButton"><span style="display:block;width:48px;height:27px; ">Login</span></div>
                <div id="logoutButton" class="barbutton" style"cursor:pointer;"><span>Logout</span></div>';



      if($logged==0) 
      {
        echo'<div id="welcomeLabel" class="barbutton"><span>Not Logged in!</span></div>';
      }
      else
      {
        echo '<div id="welcomeLabel" class="barbutton"><span>Welcome '.$user.' !</span></div>';

      }

echo '<div style="clear:both"></div>
                <div id="loginBox">                 
                    <form id="loginForm" action="autentificare2.php" method="POST">
                        <fieldset id="body">
                            <fieldset>
                                <label for="username">
                  Username</label>
                                <input type="text" name="user"/>
                            </fieldset>
                            <fieldset>
                                <label for="password">Password</label>
                                <input type="password" name="password"/>
                            </fieldset>
                            <input type="submit" id="login" value="Sign in" />

                            <label for="checkbox"><input type="checkbox" id="checkbox" />Remember me</label>
                        </fieldset>
                        <span><a href="recovery.php" style="color: white;">Forgot your password?</a></span>
                         <div id="regbut"><span>New user ? </span></div>
                    </form>
                </div>
                <div id="regbox">
                           <form id="registerform" action="register.php" method="POST">
                            <table style="margin-top:10px;">

                                <label for="Dusername">
                                  REGISTAR FOARM!!! </label>


                                <tr>
                                   <td>
                                   <label for="Dusername">
                                   Username: </label>
                                   </td>
                                   <td>';
                                   ?>

                                   <input type="text" name="Duser"   placeholder="Introduceti numele de cont dorit" onblur="javascript:semnaleazaExistaNume (this.value, '')"  />
                                   </td>
                                   <td>
                                   <span class="ascuns" id="eroareNume">Numele deja exista, alegeti altul... </span>
                                   </td>
                                </tr>


                                <tr>
                                  <td>
                                  <label for="Dpassword">
                                  Password: </label>
                                  </td>
                                  <td>
                                 <input type="password" name="Dpassword"/>
                                 </td>
                                 </tr>

                                <tr>
                                <td>
                                   <label for="Demail">
                                  E-Mail: </label>
                                  </td>
                                  <td>
                                 <input type="text" name="Demail"/>
                                 </td>
                                 </tr>

                                <tr>
                                    <td>
                                 <input type="submit" id="register" value="Register" />
                                  </td>
                                 </tr>
                             </fieldset> 
                            </table>
                            </form>
                </div>
            </div>   
    </div>
  <div class="box">
    <ul class="sortable0" id="sortable0">
        <ul class="sortable" id="sortableColona1">
        <li id="sertar1" style="z-index:10"> 
            <img id="sertar11" class="sertar" ONCLICK="openS(this)" style="position: relative;z-index:500;aligh:center;" src="img/sertar1.png">
            <ul id="ui items1" style="z-index:501;position:relative;visibility:hidden;" class="sortableIt" >
              <li id="item1" class="ui-state-default">1</li>
              <li id="item2" class="ui-state-default">2</li>
              <li id="item3" class="ui-state-default">3</li>
              <li id="item4" class="ui-state-default">4</li>
              <li id="item5" class="ui-state-default">5</li>
              <li id="item6" class="ui-state-default">6</li>
              <li id="item7" class="ui-state-default">7</li>
              <li id="item8" class="ui-state-default">8</li>
              <li id="item9" class="ui-state-default">9</li>
              <li id="item10" class="ui-state-default">10</li>
              <li id="item11" class="ui-state-default">11</li>
              <li id="item12" class="ui-state-default">12</li>
            </ul>
        </li>

    </ul>
  </div>
</body>
</html>
EN

回答 3

Stack Overflow用户

发布于 2013-06-01 13:13:16

您需要将文档代码放在$( jQuery ).ready();函数中,然后它将仅在页面加载时运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function() {
    // your code here
});

这将确保它仅在页面和所有DOM元素完全加载时运行。

更新:

您是否可以在您的head部分添加以下代码,因为您需要jQuery UI来进行相关的方法调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>

确保在加载jQuery后将其包含在内,因此head部分代码应如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="login.js"></script>
<script src="scripturi.js"></script>
<script src="dulap.js"></script>
<script src="login.js"></script>

首先要确保你已经加载了jQueryUI,因为你调用的方法属于它的API。我们可以从那里开始!

票数 1
EN

Stack Overflow用户

发布于 2013-06-01 13:30:31

您的代码不包含jquery ui anywhere!您只需要包含JQuery,而不是JQuery UI部分。可排序是jquery ui的一部分。在:http://jqueryui.com/sortable/上查看它,如果您正确地包含了它,那么在页面上是否有一个元素响应选择器是没有问题的。只需确保包含正确的库即可。

票数 0
EN

Stack Overflow用户

发布于 2013-06-01 13:30:49

您需要添加jQueryUI。请将下面的代码添加到后面的jquery部分。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16873087

复制
相关文章
如何使用Nginx对Artifactory进行http应用
在我们日常使用高可用集群时,都会使用到负载均衡工具对多个节点的负载进行转发。这里就不得不提到我们常用的一个负载均衡工具Nginx,Nginx官方提供的免费版本功能相对简单,大部分情况下我们都是用其进行负载均衡,对于应用的状态主要是依赖于其他的监控工具。如果对于小型的团队来说,部署专门的监控工具还需要资源,使用Nginx对应用进行探活监控可以节约这部分成本。
JFrog杰蛙科技
2021/06/18
1.4K0
如何使用Nginx对Artifactory进行http应用
如何使用Hetty对HTTP进行安全研究审计
Hetty是一款针对安全研究设计的HTTP工具套件,该工具的目标是成为一些商业软件(比如说BurpSuite Pro)的开源替代产品。该工具的功能十分强大,并且针对信息安全以及漏洞Hunter社区的需求进行了定制开发。
FB客服
2021/01/08
1.7K0
如何使用Hetty对HTTP进行安全研究审计
运维工具真的很容易做吗
在从研发转到运维之前,我一直就觉得运维工具这东西,应该是相当简单的,但在我自己带领一个运维工具团队一年多后,完全颠覆了我自己以前对运维工具的认知,才真正明白了运维工具这东西要做好,对技术的要求其实是极高的。 之前之所以觉得运维工具简单,是因为从在线业务系统角度来看,运维工具访问量低,数据量也很小,完全看不到什么技术难点。 在带领一个运维工具团队一年多后,看到的是运维工具系统对技术的要求其实和在线业务系统只是角度不同而已,先看看运维工具系统主要承担的职责: 1. 运维操作的自动化; 2. 线上故障出现时救命
小小科
2018/05/02
6570
xshell使用,链接后,对项目文件进行操作
1.链接 2. 连接后 ,cd到对应目录下,对文件进行操作
2021/04/01
8050
xshell使用,链接后,对项目文件进行操作
如何对短链接服务暴露的URL进行网络侦察
Urlhunter是一款网络侦察和信息收集工具,该工具基于Go语言开发。在该工具的帮助下,广大研究人员可以轻松搜索通过短链接服务暴露的URL以及相关资源,比如说bit.ly和goo.gl等等。
FB客服
2021/03/09
1.2K0
如何对短链接服务暴露的URL进行网络侦察
.NET和JAVA的跨平台,我们很期望.但是容易吗
    Java最吸引人之处,在于跨平台。而.NET可以看作Java的改良版,囊括Java大部分的优点,所以当然也具有跨平台的潜力。但是认真追究起来,Java和.NET的程序其实也不算真正跨平台,因为Java VM(虚拟机器)和.NET VM本身就是一个平台,而Java程序只能在Java VM上执行,.NET程序只能在.NET VM上执行,至于VM的底下是什么操作系统,则无关紧要。 更清楚的说,Java和.NET的跨平台,指的是跨“操作系统”平台。所以,Java VM和.NET VM能移植到什么OS平台,
张善友
2018/01/31
6490
JavaScript 如何对 JSON 数据进行冒泡排序?
JavaScript 是一种广泛使用的脚本语言,提供了丰富的功能和工具,用于处理和操作数据。JSON(JavaScript Object Notation)是一种常见的数据格式,用于在不同应用程序之间传输和存储数据。在本文中,我们将探讨如何使用 JavaScript 对 JSON 数据进行冒泡排序,以实现按照指定字段排序的功能。
海拥
2023/06/23
2730
如何使用Java对图片和Base64编码进行互相转换?
图片如何转换为Base64?很多网上教程,使用StringUtil这类过时的Java包,或者使用Oracle的sun包(如:sun.misc.BASE64Decoder、sun.misc.BASE64Encoder。使用Oracle的sun包,因为许可证协议问题,在实际开发中,商用不提倡。所以这边我们不使用StringUtil或Oracle的sun包来对图片和Base64编码操作。
Mintimate
2021/03/12
4.2K0
如何使用Java对图片和Base64编码进行互相转换?
如何在Ubuntu 14.04上使用wrk对HTTP延迟进行基准测试
本文重点介绍称为开源HTTP基准测试工具WRK,它可以在高负荷下测量HTTP服务的延迟。
黑色技术
2018/09/25
2.4K0
特征锦囊:如何对类别变量进行独热编码?
很多时候我们需要对类别变量进行独热编码,然后才可以作为入参给模型使用,独热的方式有很多种,这里介绍一个常用的方法 get_dummies吧,这个方法可以让类别变量按照枚举值生成N个(N为枚举值数量)新字段,都是0-1的变量值。
Sam Gor
2020/01/13
1.2K0
特征锦囊:如何对类别变量进行独热编码?
使用TBtools对叶绿体蛋白编码基因进行GO注释
python extract_CDS_from_gb.py input.gb output.fasta
用户7010445
2020/03/03
5.3K0
golang中如何使用http长链接(client端)
RESTFUL请求大部分都可以用短连接,即三次握手建立链接,交换数据完成后,释放掉的链接,短链接不会长时间占用端口号,实际项目中还会用到另一种,长链接,比如客户端发送RESTFUL请求,需要监测某一资源变化情况,服务端提供watch机制,在资源有变化时通知client端。 那么client端,相对于短链接,长链接应该怎么写呢? 和短链接基本一样,只需要循环读取server端返回的response即可。 package main import ( "fmt" "io"
李海彬
2018/03/27
2K0
远程办公,其实很容易!
在互联网蓬勃发展的今天,远程办公是比不可少的一项技能,出差的时候,有个文件放在公司电脑了,PPT忘在家里电脑上了,怎么办?公司的网站只能内网访问,家里电脑做不了,还急急忙忙回公司?
简单并不简单
2019/07/05
1.6K0
【TEG TALK 5】唐国华|重复的事情一定很无聊吗
千淘万漉虽辛苦 吹尽狂沙始到金 他给我讲话的时候,我好难和平日一样嘻哈起来,不由自主的正襟危坐,他认真的表情、认真的态度、认真的语言,让我听到那~~么好笑的话,都没敢笑出声来,还艰难的咽下了一句“哥,你在搞笑么”。他说:他工作的全部内容分为三步:第一步:分词;第二步:词性标注;第三步:实体识别。 他还说:这三步工作很不简单、很有价值,能改变世界。哈哈,哈哈哈哈哈。 他耐心的举了一个又一个例子让我由浅入深的了解他的工作表象和本质。他的语言简单朴素,却给我眼里黑白片的基础NLP世界涂上了彩色,让我觉
TEG云端专业号
2018/03/15
1.1K0
【TEG TALK 5】唐国华|重复的事情一定很无聊吗
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件
JSON(JavaScript Object Notation)是一种基于JavaScript语言的轻量级数据交换格式,它用键值对的方式来表示各种数据类型,包括字符串、数字、布尔值、空值、数组和对象。数组是有序的数据集合,用[]包围,元素用逗号分隔;对象是无序的数据集合,用{}包围,属性用逗号分隔,属性名和属性值用冒号分隔。
jackcode
2023/02/23
10.8K0
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件
如何利用卷积自编码器对图片进行降噪?
作者:天雨粟 量子位 已获授权编辑发布 前言 这周工作太忙,本来想更把Attention tranlsation写出来,但一直抽不出时间,等后面有时间再来写,先给大家种个草。 我们这周来看一个简单的自
量子位
2018/03/28
1.3K0
如何利用卷积自编码器对图片进行降噪?
如何使用cdn对网站进行加速
今天抽空整理下网站,时间太久,历史文件太多,删除了一些无用的垃圾,更换了服务器,调整了cdn,鼓捣2天,更换好目前感觉良好。
霍常亮
2020/07/19
16.9K0
如何使用cdn对网站进行加速
识别图片文字需要怎么进行?很麻烦吗
我们在使用电脑或者手机的时候常常会遇到这样一个问题——别人发送图片版的文字信息,而无法针对上面的文字进行复制粘贴等操作,只能够通过手打将上面的文字复制下来。如果只是一小段的文字录入也并不算非常麻烦,毕竟用键盘打字可能几分钟就能够轻松解决,但是如果是大段的问题,而且有一些特殊的符号等等,想要手动录入是很麻烦的。那么如何识别图片文字呢?
用户8739990
2021/07/16
4.9K0
识别图片文字需要怎么进行?很麻烦吗
如何利用python对HTTP代理进行自动化维护?
以上代码使用了一个名为ProxyPool的类,包含了从HTTP代理网站爬取HTTP代理、验证HTTP代理可用性、获取有效HTTP代理等方法。具体而言,首先使用requests库和BeautifulSoup库从指定的HTTP代理网站获取HTTP代理信息,并将获取到的HTTP代理存储到self.proxies列表中。随后使用requests库验证每个HTTP代理的可用性,将验证成功的HTTP代理存储到另一个列表中,并用于后续的爬虫访问。代码还包含了一个while循环,可以定时运行HTTP代理池的维护任务,确保HTTP代理池中的IP始终保持可用状态。
阿秋数据采集
2023/03/03
5560
点击加载更多

相似问题

JavaScript变量很容易被恶意修改吗?

33

去壁球很容易吗?

33

禁用多个按钮很容易吗?

32

能很容易的去饱和吗?

22

ColdFusion到PHP:我能很容易地进行查询吗?

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文