我被要求在第三方网站上进行维护,我可以编辑javascript但不能编辑后端代码.该站点使用一个插件,在jQuery.ready调用中设置各种样式和事件.我想在不引起错误的情况下阻止它.我可以在模板中插入插件之前和之后插入javascript,但插件中的标记来自其他地方.我尝试过这样的事情:
<script>
var tmpReady = $.ready;
$.ready = function() {};
</script>
<pluginWhichICanNotChange>
$(document).ready( function(){ BAD STUFF } );
</pluginWhichICanNotChange>
<script>
$.ready = tmpReady;
</script>
Run Code Online (Sandbox Code Playgroud)
但是BAD STUFF仍然会开火.任何人都知道如何剥夺它!?
那是因为使用选择器的方法驻留在$.fn命名空间中.以下应该有效:
<script>
var realReady = $.fn.ready;
$.fn.ready = function() {};
</script>
<pluginWhichICanNotChange>
$(document).ready(function() { /* BAD STUFF */ });
</pluginWhichICanNotChange>
<script>
$.fn.ready = realReady;
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |