我被要求在第三方网站上执行维护,我可以编辑 JavaScript,但不能编辑后端代码。该站点使用一个插件,可以在 jQuery.ready 调用中设置各种样式和事件。我想停止它而不引起错误。我可以在模板中的插件之前和之后插入 javascript,但插件内的标记来自其他地方。我尝试过这样的事情:
<script>
var tmpReady = $.ready;
$.ready = function() {};
</script>
<pluginWhichICanNotChange>
$(document).ready( function(){ BAD STUFF } );
</pluginWhichICanNotChange>
<script>
$.ready = tmpReady;
</script>
但是“坏东西”仍然会发生。有人知道我如何剥离它吗!?
最佳答案
这是因为与选择器一起使用的方法位于 $.fn
命名空间中。以下内容应该有效:
<script>
var realReady = $.fn.ready;
$.fn.ready = function() {};
</script>
<pluginWhichICanNotChange>
$(document).ready(function() { /* BAD STUFF */ });
</pluginWhichICanNotChange>
<script>
$.fn.ready = realReady;
</script>
关于javascript - jQuery 就绪 - 如何剥离现有的就绪句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983656/