我无法触发document.load事件,而在jQuery 2+中,我无法获取文件。如何使document.ready在jQuery 2+中工作,如何使.load工作? 谢谢!
小提琴:http://jsfiddle.net/2x7SP/2/
(function($) {
$(document).ready(documentReadyFunction);
$(document).load(afterPageLoad);
function documentReadyFunction() {
$('#readytext').val('READY');
}
function afterPageLoad () {
//alert ('loaded');
$('#loadtext').val('LOAD');
}
})(jQuery);
答案 0 :(得分:3)
load
事件由窗口触发,而不是由文档触发。通过更改它,它工作正常。
代码:
(function ($) {
$(document).ready(documentReadyFunction);
$(window).load(afterPageLoad);
function documentReadyFunction() {
$('#readytext').val('READY');
}
function afterPageLoad() {
//alert ('loaded');
$('#loadtext').val('LOAD');
}
})(jQuery);
jQuery 2放弃了对旧版IE http://blog.jquery.com/2013/04/18/jquery-2-0-released/的支持:
正如所承诺的,这个版本留下了旧的Internet Explorer 6, 7和8个浏览器。作为回报,它更小,更快,并且可以用于 JavaScript环境,其中旧IE兼容性所需的代码 经常引起自己的问题。但是不要担心,jQuery团队 仍然支持在IE 6/7/8上运行的1.x分支。你可以(和 应该继续在网上使用jQuery 1.9(以及即将发布的1.10) 需要适应旧浏览器的网站。
如果你需要支持IE< 9,你必须切换到jQuery 1.x。
答案 1 :(得分:2)
有两个问题:
document.load
这样的东西。 load
事件仅由与网址关联的元素(例如图片或iframe)或window
对象(可能是您要使用的对象)触发。load
处理程序中,这意味着load
已经被解雇。只要您将document.load
替换为window.load
:
$(window).load(afterPageLoad);
不要将jQuery包装在load事件中。固定小提琴:http://jsfiddle.net/tNUv2/
答案 2 :(得分:1)
这对我有用:
function documentReadyFunction() {
$('#readytext').val('READY');
}
function afterPageLoad() {
$('#loadtext').val('LOAD');
}
$(document).ready(documentReadyFunction);
$(window).load(afterPageLoad);