大家好,我是javascript初学者 有人可以帮我解释这段代码吗
a(this).bind("rfuSelect", { action: settings.onSelect }, function (j, h, i) {
if (j.data.action(j, h, i) !== false) {
var k = Math.round(i.size / 1024 * 100) * 0.01;
alert(k.toString())
var l = "KB";
}
});
我需要了解函数参数和if条件
答案 0 :(得分:1)
在jQuery中绑定事件时,可以将对象附加到事件中。查看文档:{{3}}
第一个参数是事件类型,在本例中是自定义事件(onrfuSelect
)。
第二个(可选)参数是数据对象。从http://api.jquery.com/bind/可以看到此对象(如您所见)。
第三个参数是回调。它传递了event.data
对象作为其第一个参数。其他参数从jQuery的.trigger
传递(此事件只能手动触发,因为它不是DOM事件)。
settings.onSelect
是一个函数,因此data.action
是一个函数。 if
语句使用参数调用该函数。
答案 1 :(得分:0)
我假设这是JavaScript绑定,而不是jquery绑定。如果这是jquery,你可以忽略并使用另一个答案。
第一个参数是this
参数,其余参数是参数调用前面的参数。
在上面的示例中,被调用函数中的this
对象变为{ action: settings.onSelect }
,函数的第一个参数是您传入的匿名函数表达式。
有关详细信息,请see MDN。