Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建一个像jQueryUI对话框那样接受选项和动作参数的jQuery插件_Javascript_Jquery - Fatal编程技术网

Javascript 如何创建一个像jQueryUI对话框那样接受选项和动作参数的jQuery插件

Javascript 如何创建一个像jQueryUI对话框那样接受选项和动作参数的jQuery插件,javascript,jquery,Javascript,Jquery,我正在尝试编写自己的对话框插件,我希望它能够反映jQueryUI对话框接受其参数的方式 也就是说,jQuery UI对话框在其构造函数中使用选项,并且可以在以后调用以打开对话框,而无需在变量中保留对对话框元素的引用 我已经在GitHub上阅读了它的源代码,但无法理解他们是如何实现它的 jQuery方式 <a onclick="$('#dialog').dialog('open');">test</a> $( function() { // No referenc

我正在尝试编写自己的对话框插件,我希望它能够反映jQueryUI对话框接受其参数的方式

也就是说,jQuery UI对话框在其构造函数中使用选项,并且可以在以后调用以打开对话框,而无需在变量中保留对对话框元素的引用

我已经在GitHub上阅读了它的源代码,但无法理解他们是如何实现它的

jQuery方式

<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";