jQuery的 .unload() 方法无法正常工作,但是 .load() 方法可以。

3

我正在尝试使用jquery动态加载和卸载内容。

.load()函数运行正常,但出于某种原因,我无法使用.unload()实现同样的效果。我不确定哪里做错了。

这是我的代码:

$( document ).ready( function() {
    $( 'a.dynamicLoad' ).click( function( e ) {
        e.preventDefault();   // prevent the browser from following the link
        e.stopPropagation();  // prevent the browser from following the link

        $( '.content-wrap' ).load('projects/project1.html');
    });

    $('#back').click(function(){
        $( '.content-wrap' ).unload('projects/project1.html');
    });
});

1
你不能像这样使用unload()事件。请查看https://api.jquery.com/unload/。 - Shamal Perera
.unload 不是 .load 的“反向”操作,它完全做不同的事情。 - CBroe
啊,我明白了。我以为它是.load()的相反。谢谢你澄清这个问题。那么,.load()的“相反”是什么?比如说,如果我想要“卸载”projects/project1.html,应该怎么做? - billybobjones
没关系。Runthis已经为我回答了这个问题 :) 再次感谢大家。 - billybobjones
1个回答

7
jQuery中的unload函数并不用于此目的。它用于设置窗口卸载事件,例如在退出页面时发生。

https://api.jquery.com/unload/

当用户离开页面时,unload事件将发送到窗口元素。这可能意味着许多事情。用户可能单击链接离开页面,或在地址栏中键入新的URL。前进和后退按钮将触发该事件。关闭浏览器窗口将导致触发该事件。即使重新加载页面,也会首先创建一个unload事件。
如果您只需要清除元素,则将innerHTML设置为nothing就足够了。
$( '.content-wrap' ).html('');

请参见http://jsfiddle.net/dm7hhnjc/

就OP而言,在jQuery中加载和卸载的范围可能会让任何人意外地走上岔路,因为命名方案本质上是令人困惑的,除非您已经熟悉window.onunload


1
啊,谢谢你为我澄清这个问题。我以为 .unload() 是 .load() 的相反操作。现在我明白了。非常感谢你。 - billybobjones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接