2

我花了很多时间阅读有关内存泄漏的信息。我很困惑,因为 ie6 的真实情况不再适用于 ie8 或更新的浏览器。据我了解,这段代码可能/将会泄漏,因为在一个函数中,我创建了一个绑定事件的 DOM 元素。我的理解正确吗?如果是这样,注释中的代码也会泄漏吗?如果是这样,不泄漏的最佳方法是什么?

function somefunc() {
    var $CodeInstallation, $selInstallation;

    $CodeInstallation = jQuery(<...some form tag...>);

    $selInstallation = jQuery(
        '<input value="select"' +
        ' type="button" name="selInstallation" ' +
        ' id="idSelInstallation"/>')
        .appendTo($CodeInstallation.parent());

    // should I do that instead  ???
    /*
    jQuery('<input value="select"' +
       ' type="button" name="selInstallation" ' +
       ' id="idSelInstallation"/>')
       .appendTo($CodeInstallation.parent());
    $selInstallation = jQuery('#idSelInstallation');
    */

    $selInstallation.click( function() {
        alert('click!');
    }); // click
}
4

1 回答 1

0

感谢 Pointy 和 Kevin B。答案是否定的,因为 jQuery 处理事件而不是附加到 DOM 对象的方式。

于 2013-11-11T17:43:32.247 回答