2

誰もが私のためにコードのこの1行を説明できるのだろうかと思っていました。

        $(this).bind('click', {src: $(this).attr('href')}, function (e){
           //commented out since it's irrelevant                    
        });

これが私がそれを理解する方法です:

関数を$(this)のクリックイベントにバインドします。また、eパラメータも関数に渡されます。しかし、それは私には意味をなさない中間部分です

                     {src: $(this).attr('href')}

これは何をしますか?jqueryでコロンが何をするかをグーグルで検索してみました。ただし、li:firstの結果が得られます。

4

6 に答える 6

6

これはjavascriptオブジェクト表記です:

var object = {propertyName : propertyValue};

オブジェクトリテラルを記述します。

于 2013-02-26T21:50:43.873 に答える
5

{src: $(this).attr('href')}はオブジェクトリテラルであり.bind、2番目のパラメータとしてオブジェクトを関数に渡します。そうすることで、上記のデータがイベントハンドラーに渡され、イベントが発生したときに、event.data.srcまたはを使用してアクセスできるようにe.data.srcなります。function (e)...

于 2013-02-26T21:52:00.470 に答える
3

これが、オブジェクト(オブジェクトリテラルと呼ばれる)を定義する方法です。たとえば、次の場合です。

obj = { src: "Source" };

その場合、obj.srcには「ソース」が含まれます。

于 2013-02-26T21:52:24.160 に答える
2

プロパティsrcを使用してインラインオブジェクトを提供しています。srcの値は$(this).attr('href');次のとおりです。jquery固有のドキュメントが見つからない理由は、これがjavascript自体に存在する規則であるためです。

于 2013-02-26T21:51:26.350 に答える
1

bindのドキュメントから、2番目の引数:

eventData
    Type: Object
    An object containing data that will be passed to the event handler.

つまり、オブジェクトを渡すことになります。src:構文は、名前が。であるそのオブジェクトのメンバーを意味しますsrc

于 2013-02-26T21:50:59.490 に答える
1

これは、イベントオブジェクトでコールバックに渡される単なる追加情報であり、次を使用してアクセスできます。

// callback function
function(e){ 
    alert(e.data.src);
}
于 2013-02-26T21:53:11.883 に答える