在src之后jquery中的这个冒号是什么?

时间:2013-02-26 21:49:07

标签: jquery

我想知道任何人都可以在代码中解释这一行。

        $(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中做了什么。但是我得到了李:第一个结果。

6 个答案:

答案 0 :(得分:6)

这是javascript对象表示法:

var object = {propertyName : propertyValue};

它描述了一个对象literal

答案 1 :(得分:5)

{src: $(this).attr('href')}是一个对象文字,您将一个对象作为第二个参数传递给.bind函数。这样做会将所述数据传递到事件处理程序中,在事件发生时您可以使用event.data.srce.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);
}