删除扩展功能

mat*_*e64 -1 html javascript jquery html5

如何摆脱 $.extend() 特定目标对象的扩展函数.示例:通过使用XHR重新加载DOM的部分,我能够检测到对象的外观,如下所示:

// Initliaize:
$('#sausage').catsup();
    ...
// Inside fn.catsup():
if($('body').find($(this)).size() == 0) // object has gone
Run Code Online (Sandbox Code Playgroud)

但我怎么能杀人fn.catsup()?这似乎不起作用:

$(this).clearQueue();
$(this).stop();
$(this).unbind();
delete $(this);
Run Code Online (Sandbox Code Playgroud)

gdo*_*ica 7

如果我理解了这个问题,你想从jQuery中删除你的函数.

用这个:

$.fn.catsup = null;
Run Code Online (Sandbox Code Playgroud)

或者按照@Matt的建议:

delete $.fn.catsup
Run Code Online (Sandbox Code Playgroud)

  • `delete $ .fn.catsup`可能更合适......它会让`jQuery.fn`看起来好像*从来没有``catsup`属性(`jQuery.fn.hasOwnProperty('catsup')`如果设置为"null"则返回true,但如果使用"delete"则返回false. (3认同)