我有一个函数,我想将一个参数,市场,传递给函数freeSample,但我似乎无法将它设置为参数。请花点时间查看我的代码,并帮助我了解如何在freeSample函数中将市场作为参数。
(freeSample) ->
market = $('#market')
jQuery('#dialog-add').dialog =
resizable: false
height: 175
modal: true
buttons: ->
'This is Correct': ->
jQuery(@).dialog 'close'
'Wrong Market': ->
market.focus()
market.addClass 'color'
jQuery(@).dialog 'close'
更新:以下是我目前正在尝试转换为CoffeeScript的JavaScript。
function freeSample(market)
{
var market = $('#market');
jQuery("#dialog-add").dialog({
resizable: false,
height:175,
modal: true,
buttons: {
'This is Correct': function() {
jQuery(this).dialog('close');
},
'Wrong Market': function() {
market.focus();
market.addClass('color');
jQuery(this).dialog('close');
}
}
});
}
答案 0 :(得分:19)
这里的内容不是名为freeSample
的函数。是一个名为freeSample
的单个参数的匿名函数。 CoffeeScript中函数的语法如下:
myFunctionName = (myArgument, myOtherArgument) ->
所以在你的情况下,它可能是这样的:
freeSample = (market) ->
#Whatever
编辑(在OP更新问题后): 在您的具体情况下,您可以这样做:
freeSample = (market) ->
market = $("#market")
jQuery("#dialog-add").dialog
resizable: false
height: 175
modal: true
buttons:
"This is Correct": ->
jQuery(this).dialog "close"
"Wrong Market": ->
market.focus()
market.addClass "color"
jQuery(this).dialog "close"
PS。有一个(很棒的)在线工具可以在js / coffeescript之间进行转换,可以在这里找到:http://js2coffee.org/
此工具生成的上述代码段。