2014-07-24 35 views
0

我有一些jquery,我想加载时运行,但它似乎没有击中加载事件。这里是我的jqueryjquery函数正在加载调用

$(function() { 
    $('.field-of-work').load(function() { 
     var $wrapper = $(this).closest('.field-of-work-wrapper'); 

     $wrapper.find('.position').hide(); 
     $wrapper.find('.position').find('select').val(''); 

    }); 
}); 

为什么load事件不会被打到?

+0

您是否包含jQuery库? –

+0

您是否在头标记中使用jQuery库引用? – MACMAN

+0

是的,因为我有一些其他jquery运行正常 – Canvas

回答

1

尝试使用ready()方法:

$(document).ready(function(){ 
    $('.field-of-work select').load(function() { 
     var $wrapper = $(this).closest('.field-of-work-wrapper'); 

     $wrapper.find('.position').hide(); 
     $wrapper.find('.position').find('select').val(''); 

    }); 
}); 
+0

是的,工作:),但在jquery规范,它没有声明,我可以用另一种方式来做文件准备... nevermind – Canvas

0

$(function()$(document).ready(function(){})的别名和您的负载事件在文档准备事件之前触发。

如果你想负载监听器里的代码火的页面加载,你应该把它放在任何$(function()$(document).ready()这样的外:

$('.field-of-work').on('load', function() { 
    var $wrapper = $(this).closest('.field-of-work-wrapper'); 

    $wrapper.find('.position').hide(); 
    $wrapper.find('.position').find('select').val(''); 

}); 

$(function(){ 
    /* Your other code here */ 
}); 
0

试试这个:

$(document).ready(function() { 
    $('.field-of-work').load(function() { 
     var $wrapper = $(this).closest('.field-of-work-wrapper'); 

     $wrapper.find('.position').hide(); 
     $wrapper.find('.position').find('select').val(''); 

    }); 
}); 
0

您是否正确使用加载功能?

加载需要一个“url”作为参数并将HTML返回到匹配的元素。

http://api.jquery.com/load/

Description: Load data from the server and place the returned HTML into the matched element.

load(url [, data ] [, complete ])Returns: jQuery 

是否要执行你的load方法中的动作的页面已经被加载后,对不对?

您可能需要使用 “准备就绪()”,而不是它:

$(document).ready(function() { 

     var $wrapper = $(this).closest('.field-of-work-wrapper'); 

     $wrapper.find('.position').hide(); 
     $wrapper.find('.position').find('select').val(''); 
}); 

还是你只是想将事件处理程序的负载添加到它(如

.on("load", handler). 

http://api.jquery.com/load-event/