Jquery事件侦听器不会从本地转移到服务器

时间:2014-08-11 02:34:43

标签: javascript jquery html

我有一些Jquery .hover()脚本在本地开发时工作正常,但是当我将文件传输到Web服务器并运行页面时,事件监听器不存在。

这是Chrome的开发控制台的图片,显示了本地运行时元素的事件监听器。

http://i.imgur.com/QedZXXr.png

当我上传到服务器并使用Chrome的开发控制台检查相同元素的事件侦听器时,mouseoutmouseover事件侦听器不存在。

我已尝试上传到2个不同的网络服务器并确认所有内容都已正确上传,所有内容都有相关链接等,但仍然有相同的不良结果。

我也搜索了一段时间的解决方案,但无济于事,所以希望有人可以帮助我。朋友说,这里的人们很乐意回答问题。

不确定它是否会有所帮助,但这是脚本。 http://jsfiddle.net/0ytrrtee/

2 个答案:

答案 0 :(得分:0)

在第76行或您的脚本上,您有$('.alph').load("calls/alpha.html");
您使用了Jquery的.load(),它通过AJAX动态加载内容。除非您委派,否则事件侦听器将不会应用于动态加载。

它在本地而不是在Web服务器上工作的原因是因为AJAX通常不在本地工作,除非您专门设置它。所以脚本在本地无法正常工作。

希望这能回答你的问题。

答案 1 :(得分:0)

首先,深吸一口气。将文件从本地移动到服务器或从登台到服务器可能是神经紧张。这种恐惧使我们错过了最简单的事情。所以请放松并检查每个建议。

一些可能的解决方案/原因:

  1. JavaScript文件仍然链接到本地​​文件EX:(src ='myfile.js'或src ='localhost / myfile.js')。检查页眉或页脚文件以确保服务器可以访问该脚本。
  2. 检查文件和目录权限以确保可以读取JavaScript文件。服务器EX的Google文件权限设置:( Windows文件权限)
  3. 如果您使用的是旧版浏览器,请确保已启用JavaScript。
  4. 如果这些都没有帮助,那么创建一个简单的JavaScript文件,以确保它可以到达并且能够在您的服务器上工作。类似的东西:

    if(console){
     conole.log('hello world');
    }