Javascript 如何创建一个像jQueryUI对话框那样接受选项和动作参数的jQuery插件
我正在尝试编写自己的对话框插件,我希望它能够反映jQueryUI对话框接受其参数的方式 也就是说,jQuery UI对话框在其构造函数中使用选项,并且可以在以后调用以打开对话框,而无需在变量中保留对对话框元素的引用 我已经在GitHub上阅读了它的源代码,但无法理解他们是如何实现它的 jQuery方式Javascript 如何创建一个像jQueryUI对话框那样接受选项和动作参数的jQuery插件,javascript,jquery,Javascript,Jquery,我正在尝试编写自己的对话框插件,我希望它能够反映jQueryUI对话框接受其参数的方式 也就是说,jQuery UI对话框在其构造函数中使用选项,并且可以在以后调用以打开对话框,而无需在变量中保留对对话框元素的引用 我已经在GitHub上阅读了它的源代码,但无法理解他们是如何实现它的 jQuery方式 <a onclick="$('#dialog').dialog('open');">test</a> $( function() { // No referenc
<a onclick="$('#dialog').dialog('open');">test</a>
$( function() {
// No reference kept
$('#dialog').dialog({left: 100, top: 10});
});
操作和选项之间的区别非常简单 操作是字符串:
$('#dialog').dialog('open');
选项是对象的属性:
$('#dialog').dialog({left: 100, top: 10});
因此,只需简单地检查所提供参数的类型就可以了。jQuery就是这样做的:
var isMethodCall = typeof options === "string";
为什么不直接从GitHub复制代码,并根据自己的喜好进行修改呢?或者您正在试图理解它?您需要检查
options
是否为字符串:var isMethodCall=typeof options==“string”
@RacilHilan我想了解和学习他们是如何做到这一点的,如果有的话,什么是这样做的最佳实践。jQuerys站点上的插件教程显示了传入的操作和选项,但没有显示一旦它们被调用后如何区分它们之间的差异passed@user3953989我更新了评论above@A.Wolff完美的这正是我想要的。我查看的是对话框源代码,而不是小部件,我想它们的所有内容都是通用的。谢谢
var isMethodCall = typeof options === "string";