我试图在一些第三方代码出现模式对话框后获得一段JavaScript运行.我看到了一个非常巧妙的劫持jQuery show函数的想法,但不幸的是它没有用.我猜这个想法曾经在2009年用于旧版本的jQuery,但现在还没有在最新版本上使用.这是一个jsFiddle的实现和示例:
http://jsfiddle.net/mkmurray/drv5w/2/
正如您通过运行示例所看到的,它将警告'beforeShow'事件,但不会警告'afterShow事件',并且通过一些调试我可以看到它没有完全调用'newCallback'函数.
提前感谢您提供的任何帮助.
看起来我能够通过解决方案.它涉及原因的一些因素:
easing.这真的搞砸了我如何show通过调用委托给jQuery中的原始方法_oldShow.apply(...).show方法会调用一些其他方法,有时会show再次递归调用.我需要一种不让我的实现拦截那些递归调用的方法; 我发现如果有selector房产,我可以依赖.这个jsFiddle可以找到一个有效的实现:
http://jsfiddle.net/mkmurray/drv5w/27/
这个实现很大程度上依赖于jQuery而不改变方法的方法签名show.所以你几乎要决定是否要修改你的第三方jQuery插件而不是这样做.无论哪种方式,如果你想获得最新的第三方插件或最新的jQuery,一些新的改变可能会破坏你的实现.因此,此解决方案不一定比修改第三方插件更好或更差.
| 归档时间: |
|
| 查看次数: |
5595 次 |
| 最近记录: |