Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除扩展函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 删除扩展函数

Javascript 删除扩展函数,javascript,jquery,html,Javascript,Jquery,Html,如何从特定目标对象中删除扩展的$.extend()函数。示例:通过使用XHR重新加载部分DOM,我能够检测对象的外观,如下所示: // Initliaize: $('#sausage').catsup(); ... // Inside fn.catsup(): if($('body').find($(this)).size() == 0) // object has gone 但是我怎样才能杀死fn.catsup()?这似乎不起作用: $(this).clearQueue(); $(t

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

// Initliaize:
$('#sausage').catsup();
    ...
// Inside fn.catsup():
if($('body').find($(this)).size() == 0) // object has gone
但是我怎样才能杀死
fn.catsup()
?这似乎不起作用:

$(this).clearQueue();
$(this).stop();
$(this).unbind();
delete $(this);

如果我理解了这个问题,那么您希望从jQuery中删除您的函数

使用以下命令:

$.fn.catsup = null;
或根据以下建议:


除非我理解错误,否则您只希望
catsup
不再是jQuery扩展函数的一部分:

delete $.fn.catsup;

请注意,这不会影响所有jQuery DOM对象,即现有对象和以后创建的对象。

您所说的“kill catsup()”是什么意思?@msec。现在我更困惑了,你想做什么?你能告诉我们上下文吗?这是一个很难理解的问题。如果你想用一种方法“销毁”由
catsup
执行的操作,你必须编写另一个函数(最好是为catsup本身添加一个方法)来完成。
delete$.fn.catsup
可能更合适。。。它会使
jQuery.fn
看起来好像它从来没有
catsup
属性(
jQuery.fn.hasOwnProperty('catsup')
如果设置为
null
,则返回true,如果使用了
delete
,则返回false)。因为
$.fn
jQuery.prototype
的别名,这将影响现有的jQuery对象。检查它将影响所有的jQuery对象。事实确实如此-感谢您的更正。我据此编辑了我的答案。
delete $.fn.catsup;