WordPress以安全模式运送jQuery,这非常棒,但我必须使用的第三方脚本使用$
别名,因此只有该脚本有别名$
到jQuery
的方法吗? (因为它是第三方不能编辑脚本)特定于脚本的jQuery别名
回答
包裹插件的初始化在
IIFE
(function($){
$('.some').pluginUsingDollarAsJQuery();
})(jQuery)
由于每help pages for plugin authorship:
$变量在JavaScript图书馆中非常流行es,如果你使用jQuery另一个库,你将不得不让jQuery使用$ with jQuery.noConflict()。但是,这会破坏我们的插件,因为它是在假设$是jQuery函数的别名的情况下编写的。为了与其他插件很好地工作,并且仍然使用jQuery的$别名,我们需要把我们所有的代码立即调用函数表达式里面,然后通过功能jQuery和
这基本上名称的参数归结为谁写了你使用的插件没有做对。
写这样的插件:
$.fn.doSomething = function(){
// whatever
}
能做到不与noConflict模式下使用jQuery任何兼容。它应该被包裹在一个IIFE这样的:
(function($){
$.fn.doSomething = function(){
// whatever
}
})(jQuery)
如果你的插件是前者的风格,它抛弃了。
是的,它不能像那样工作。我想很多人误解了这个问题。 –
@ Karl-AndréGagnon - 我没有误解这个问题 - 我认为有些东西可行,那不是。无论如何,答案更新。 – Jamiec
“如果你的插件是前者的样式,请将其丢弃。”这是一个非常好的建议,已经投票,但我不能接受答案,因为它实际上并没有解决。 –
Jamiec's answer是应该在访问代码时应该使用的干净解决方案,但是如果您无法访问代码,则会有肮脏的解决方案。
在加载脚本之前,您可以将$
重新指派给jQuery。所以当脚本初始化时,$ === jQuery
。
要做到这一点时,脚本是内嵌在DOM,只需打开脚本标签为之前的重新分配:
<script>$=jQuery;</script>
<script src="external_script"></script>
如果动态加载脚本(例如:jQuery.getScript
),你可以之前重新分配调用异步函数:
window.$ = jQuery;
jQuery.getScript('external_source');
警告:这种方法可以打破你的脚本,如果window.$
在别处使用。如果脚本加载了异步,那么它也可能不起作用,同时,另一个脚本将$
重新分配给其他内容。
- 1. 在脚本#指定的jQuery别名
- 2. PHP脚本中特定行的PHP别名?
- 3. Bash别名不适用于Python脚本
- 4. 用于查找文件名中特定单词的Linux脚本
- 5. ?关于特定项目的DOM脚本
- 6. 脚本中的别名
- 7. shell脚本的别名
- 8. 特定于操作的JS脚本就像查看脚本
- 9. 使别名脚本失败
- 10. jQuery脚本 - 用特定脚本切换打开/关闭?
- 11. 获取magento中根类别的特定/特定类别名称
- 12. 用于在特定类别
- 13. 基于ML的域特定命名的入口识别(NER)?
- 14. shell脚本中的别名帮助
- 15. 脚本中的全球bash别名
- 16. 我的脚本如何更改特定字体(对于特定的类)?
- 17. 如何为Python脚本定义系统范围的别名?
- 18. 确定文件位置是否是bash脚本中的别名
- 19. shell脚本+ IP地址与别名之间的恒定空格
- 20. Powershell功能脚本:functionname做什么?特别是脚本:部分
- 21. 选择*与特定的别名[语法]
- 22. shell脚本将特定文件链接到一个级别
- 23. 拷贝文件到具有特定名称(Automator的或脚本)
- 24. 产卵Perl脚本作为具有特定名称的过程
- 25. 以特定名称结束进程的脚本
- 26. 蝙蝠脚本SFTP上传的特定扩展名
- 27. Powershell脚本查找特定的文件/文件名?
- 28. 特定于设备的加载类别
- 29. 未从脚本设置Powershell别名
- 30. 如何使用jQuery查找特定的脚本
第三方脚本,不考虑重写'$'的可能性(当它失败时)不是一个好脚本... –
@ Karl-AndréGagnon我同意,但最糟糕的部分是:不幸的是它是来自Payza整合API –