富百世 2016-07-02 15:59 采纳率: 0%
浏览 1089
已采纳

jquery之自动补全相关问题3

各位大神:
近日在学习jquery相关知识,按教学视频写一个web程序,程序文件已经分享到百度云盘,下载网址为:https://pan.baidu.com/s/1geIkYYn。请大神下载后解压运行里面的文件index.html。由于我在index.js文件中写了
var host=['aa','aaaa','aaaaaa','bb'];
$('#email').autocomplete({
source : host
});

所以用浏览器打开index.html后,点击邮箱文本框,按教学视频所讲应出现如下界面
图片说明
出现自动补全功能,但我在电脑上运行上传到云盘上的代码却不能出现自动补全功能。
针对此问题网友“无聊码农”的解决方案是dialog和autocomplete的初始化换个位置,autocomplete放到dialog后面,要不autocomplete生成的层z-index小于dialog的导致被覆盖了看不到下拉效果。
而网友“当作看不见”的解决方案是将代码
var host=['aa','aaaa','aaaaaa','bb'];
$('#email').autocomplete({
source : host
});
外面套个$(function() {和});写成
$(function(){
var host=['aa','aaaa','aaaaaa','bb'];
$('#email').autocomplete({
source : host
});
});
两种方案均能解决问题,第一种解决方案很好理解。但第二种解决方案我就是纳闷了。为什么外面套个$(function() {和});就能解决了呢?是不是外面套个$(function() {和});的代码比不套$(function() {和});代码理论上晚执行呢?请指教。谢谢!

  • 写回答

5条回答 默认 最新

  • 当作看不见 2016-07-02 16:37
    关注

    为什么外面套个$(function() {和});就能解决了呢?是不是外面套个$(function() {和});的代码比不套$(function() {和});代码理论上晚执行呢?
    是没有错的,$(function(){})===$(document).ready(fucntion(){}),是在文本加载完之后才会执行,在你没有加它之前,会按顺序加载,但是加载完后会被后面所加载的内容覆盖掉,而加了之后会等文本加载完成之后再执行,所以他就在最上层了,不会被覆盖掉了,求采纳........

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog