同一功能上的多个“用户选项”参数
Posted
技术标签:
【中文标题】同一功能上的多个“用户选项”参数【英文标题】:Multiple "user option" parameters on the same function 【发布时间】:2014-06-19 15:03:26 【问题描述】:不知道我在问题标题中的术语是否正确,抱歉。随意修改。
我需要知道如何在jquery
函数上分配多个参数。
我的函数目前是这样写的:
$(document).ready(function()
$('#crop-me').Jcrop(
aspectRatio: 130 / 170,
minSize: [130, 170],
setSelect: [260, 340, 0, 0],
onChange: showCoords,
onSelect: showCoords
);
function showCoords(c)
...
function updatePreview(d)
...
);
但我还需要将updatePreview
分配给onChange:
和onSelect:
。我该怎么做?
我尝试了以下方法:
onChange: showCoords updatePreview
onChange: [showCoords, updatePreview]
onChange: showCoords,
onChange: updatePreview
但这三种方法似乎都不起作用。我该怎么做?
【问题讨论】:
【参考方案1】:您需要为调用这两个函数的参数提供一个匿名函数:
onChange: function(c)
showCoords(c);
updatePreview(c);
【讨论】:
【参考方案2】:在这里你要做的是传递一个anonymous function,在其中你可以调用你想要的其他函数。
看起来像这样:
$('#crop-me').Jcrop(
...
onChange: function()
showCoords();
updatePreview();
,
...
);
如果您想保留传递给函数的所有参数,您可以使用每个函数中存在的arguments
variable。这个变量是一个类数组,包含传递给函数的所有参数。
$('#crop-me').Jcrop(
...
onChange: function()
showCoords( arguments );
updatePreview( arguments );
,
...
);
MDN javascript documentation 对 arguments 变量有这样的说法:
arguments 对象是所有函数中可用的局部变量;不能再使用作为 Function 属性的参数。
您可以使用 arguments 对象在函数中引用函数的参数。该对象包含传递给函数的每个参数的条目,第一个条目的索引从 0 开始。
【讨论】:
以上是关于同一功能上的多个“用户选项”参数的主要内容,如果未能解决你的问题,请参考以下文章
如何使用python-click为同一组中的cmd使用相同的选项