Javascript 从jQuery插件内部访问公共函数
这是我第一次在没有教程的情况下编写jQuery插件。现在(2014年9月28日),jQuery站点不工作(我不知道为什么),所以我在那里找不到任何资源 下面是我报告错误的插件的一部分:Javascript 从jQuery插件内部访问公共函数,javascript,jquery,Javascript,Jquery,这是我第一次在没有教程的情况下编写jQuery插件。现在(2014年9月28日),jQuery站点不工作(我不知道为什么),所以我在那里找不到任何资源 下面是我报告错误的插件的一部分: $(function($){ $.fn.dialog = function(command, options) { var opts = $.extend( {}, $.fn.dialog.defaults, options ); //code $.fn.d
$(function($){
$.fn.dialog = function(command, options) {
var opts = $.extend( {}, $.fn.dialog.defaults, options );
//code
$.fn.dialog.handleCancel = function() {
};
$.fn.dialog.handleAccept = function() {
};
return this;
};
$.fn.dialog.defaults = {
// some other props
onCancel: $.fn.dialog.handleCancel(),
onAccept: $.fn.dialog.handleAccept()
};
// code
}(jQuery));
当我调用插件($(“#dialog1”).dialog(/*..*/)
)时,浏览器控制台显示以下内容:
Uncaught TypeError: undefined is not a function
错误出现在“onCancel:$.fn.dialog.handleCancel()”
的行中
我如何访问这些方法,它们应该在哪里?(我还希望他们能够访问
$(此)
您的handleCancel
和handleacept
函数在您调用$.fn.dialog
函数之前不会初始化。因此,当您设置对话框默认值时,这些函数是未定义的
在$.fn.dialog.defaults
之前插入此代码:
$.fn.dialog();
在调用
$.fn.dialog
函数之前,handleCancel
和handleacept
函数不会初始化。因此,在设置对话框默认值时,它们是未定义的
在$.fn.dialog.defaults
之前插入此代码:
$.fn.dialog();
在调用
$.fn.dialog
函数之前,handleCancel
和handleacept
函数不会初始化。因此,在设置对话框默认值时,它们是未定义的
在$.fn.dialog.defaults
之前插入此代码:
$.fn.dialog();
在调用
$.fn.dialog
函数之前,handleCancel
和handleacept
函数不会初始化。因此,在设置对话框默认值时,它们是未定义的
在$.fn.dialog.defaults
之前插入此代码:
$.fn.dialog();
尝试在片段内重新排列块,添加过滤器,以防止默认情况下调用
handleCancel
和handleacept
;例如
(函数($){
$.fn.dialog=函数(命令、选项){
var$el=此;
//访问,将参数传递给方法
$.fn.dialog.handleCancel=函数(c){
$el.html(c+“led”)
};
$.fn.dialog.handleAccept=函数(a){
$el.html(a+“ed”)
};
//调用'handleCancel'或'handleacept',
//基于`命令`
$.fn.dialog.defaults={
//其他一些道具
onCancel:command==“取消”
?$.fn.dialog.handleCancel(命令)
:null,
onAccept:command==“接受”
?$.fn.dialog.handleAccept(命令)
:null
};
var opts=$.extend({},$.fn.dialog.defaults,options);
//代码
归还这个;
};
//代码
}(jQuery));
$(“按钮”)。在(“单击”)上,函数(e){
$(“#结果”).dialog(e.target.id)
})
接受取消
结果:
尝试在片段内重新排列块,添加过滤器,以防止默认情况下调用handleCancel
和handleacept
;例如
(函数($){
$.fn.dialog=函数(命令、选项){
var$el=此;
//访问,将参数传递给方法
$.fn.dialog.handleCancel=函数(c){
$el.html(c+“led”)
};
$.fn.dialog.handleAccept=函数(a){
$el.html(a+“ed”)
};
//调用'handleCancel'或'handleacept',
//基于`命令`
$.fn.dialog.defaults={
//其他一些道具
onCancel:command==“取消”
?$.fn.dialog.handleCancel(命令)
:null,
onAccept:command==“接受”
?$.fn.dialog.handleAccept(命令)
:null
};
var opts=$.extend({},$.fn.dialog.defaults,options);
//代码
归还这个;
};
//代码
}(jQuery));
$(“按钮”)。在(“单击”)上,函数(e){
$(“#结果”).dialog(e.target.id)
})
接受取消
结果:
尝试在片段内重新排列块,添加过滤器,以防止默认情况下调用handleCancel
和handleacept
;例如
(函数($){
$.fn.dialog=函数(命令、选项){
var$el=此;
//访问,将参数传递给方法
$.fn.dialog.handleCancel=函数(c){
$el.html(c+“led”)
};
$.fn.dialog.handleAccept=函数(a){
$el.html(a+“ed”)
};
//调用'handleCancel'或'handleacept',
//基于`命令`
$.fn.dialog.defaults={
//其他一些道具
onCancel:command==“取消”
?$.fn.dialog.handleCancel(命令)
:null,
onAccept:command==“接受”
?$.fn.dialog.handleAccept(命令)
:null
};
var opts=$.extend({},$.fn.dialog.defaults,options);
//代码
归还这个;
};
//代码
}(jQuery));
$(“按钮”)。在(“单击”)上,函数(e){
$(“#结果”).dialog(e.target.id)
})
接受取消
结果:
尝试在片段内重新排列块,添加过滤器,以防止默认情况下调用handleCancel
和handleacept
;例如
(函数($){
$.fn.dialog=函数(命令、选项){
var$el=此;
//访问,将参数传递给方法
$.fn.dialog.handleCancel=函数(c){
$el.html(c+“led”)
};
$.fn.dialog.handleAccept=函数(a){
$el.html(a+“ed”)
};
//调用'handleCancel'或'handleacept',
//基于`命令`
$.fn.dialog.defaults={
//其他一些道具
onCancel:命令===