我想知道任何人都可以在代码中解释这一行。
$(this).bind('click', {src: $(this).attr('href')}, function (e){
//commented out since it's irrelevant
});
以下是我的理解:
将函数绑定到$(this)的click事件。 e参数也传递给函数。然而,这是对我来说没有意义的中间部分
{src: $(this).attr('href')}
这是做什么的?我试着google'ing结果在jquery中做了什么。但是我得到了李:第一个结果。
答案 0 :(得分:6)
答案 1 :(得分:5)
{src: $(this).attr('href')}
是一个对象文字,您将一个对象作为第二个参数传递给.bind
函数。这样做会将所述数据传递到事件处理程序中,在事件发生时您可以使用event.data.src
或e.data.src
在您的情况下使用function (e)...
答案 2 :(得分:3)
这就是定义对象(称为对象文字)的方式。例如,如果:
obj = { src: "Source" };
然后obj.src将包含" Source"。
答案 3 :(得分:2)
您正在为内联对象提供属性src。 src的值为$(this).attr('href');
您无法找到jquery特定文档的原因是这是javascript本身存在的约定。
答案 4 :(得分:1)
来自docs for bind,第二个论点:
eventData
Type: Object
An object containing data that will be passed to the event handler.
所以,你传递的是一个物体。 src:
语法表示该对象的成员,其名称为src
。
答案 5 :(得分:1)
这只是在事件对象中传递给回调的附加信息,可以使用以下方法访问:
// callback function
function(e){
alert(e.data.src);
}