让不同的javascript文件共享相同的函数
Having different javascript files share the same function
现在我正在为WordPress创建一些插件。所有这些都需要单独工作,但是我想添加一个实现来让它们一起工作。
对于初学者来说,所有脚本都将使用自定义名称来引用jQuery,这是我的问题开始的第一部分。在WordPress中,我有一个组合对象,我想用所有的值填充。合并后的对象命名为:myObject
.
现在我尝试这个,但它不工作:
if( typeof myObject.jq !== 'undefined' )
myObject.jq = jQuery.noConflict();
myObject.jq(document).ready(function(){
}
我得到错误消息'myObject。jq'不是函数
我想用一个组合的ajax函数进一步扩展它,像这样
if( typeof myObject.jq !== 'undefined' ){
myObject.jq = jQuery.noConflict();
myObject.ajaxcall = function(action){
var dfr = myObject.jq.Deferred();
myObject.jq.ajax({
url:myObject.ajaxurl,
type:'post',
data:{
action:action,
face:myObject.face
},
dataType:'json',
success:dfr.resolve
});
return dfr.promise();
};
}
myObject.jq(document).ready(function(){
// My code here
}
这完全行不通。有人知道怎么让它工作吗?
你只是把'未定义'逻辑倒了。应该说是typeof myObject.jq === 'undefined'
。虽然,由于jq
预计是一个函数,更好的检查将是typeof myObject.jq !== 'function'
。
要使您的第一部分工作,您需要将myObject
声明为object
。javaScript将自动分配未定义的对象标识符,因此您不需要测试键是否存在。因此,将您的代码更改为以下内容即可:
var myObject = {};
myObject.jq = jQuery.noConflict();
myObject.ajaxcall = function(action) {
//You function code
};
myObject.jq(document).ready(function(){
//Your code goes here
});
这将导致以下myObject
myObject
ajaxcall: function (action) { }
jq: function (a,b){return new d.fn.init(a,b,g)}
相关文章:
- Javascript创建函数,以便在其他函数之间共享变量
- 节点模块对象范围:在所有函数之间共享一个对象
- 将javascript变量从一个函数/文件传递到另一个
- 如何制作文件共享网站
- 如何在递归函数中共享返回值
- 在Javascript中的函数之间共享变量
- 如何使用 onload 事件从 HTML 网站在 Windows 2008 上的文件共享上运行批处理文件
- 单.js文件共享 它的数据与 2 个 HTML 页面调用
- 在SVG-EDIT中嵌入Youtube视频并应用文件共享系统
- 导入iPython自定义小部件函数(文件结构?)
- Wordpress-自定义页面包括第二个导致函数文件问题的自定义页面
- 调用外部js函数文件
- 在ES6类的函数之间共享变量
- 使用Google Apps Script修改文件共享设置
- 如何快速识别被调用的Javascript函数文件
- 让不同的javascript文件共享相同的函数
- 通过Web界面进行本地文件共享
- 是否有可能在servlet /jsp和javascript函数之间共享会话变量?
- 如何获得包含javascript函数文件的相对路径
- 通过webpack文件共享变量